• Java 07 example


    留下两个例子作为参考,

    1. 追逐小方块的例子

    2. HashMap 和 Iterator 的例子

    Example one:

    aimage

    import acm.graphics.*;
    import acm.program.*;
    import java.awt.*;
    import java.awt.event.*;
    
    public class TargetSeeker extends GraphicsProgram {
    
    /* private constants */
        private static final int TARGET_SIZE = 10;
        private static final int SEEKER_SIZE = 20;
        private static final int PAUSE_TIME = 10;
        
        public void run() {
            initTarget();
            initSeeker();
            addMouseListeners();
            
            while (true) {
                seek();
            }
        }
        
        private void initTarget() {
            targetSquare = new GRect(TARGET_SIZE, TARGET_SIZE);
            targetSquare.setColor(Color.red);
            targetSquare.setFilled(true);
            targetX = getWidth() / 2;
            targetY = getHeight() / 2;
            add(targetSquare, targetX - TARGET_SIZE/2, targetY - TARGET_SIZE/2);
        }
        
        private void initSeeker() {
            seeker = new GRect(SEEKER_SIZE, SEEKER_SIZE);
            add(seeker, 0, 0);
        }
    
        private int moveAmount(double seekerPos, double targetPos) {
            int amount = 0;
            if (targetPos > seekerPos) {
                amount = 1;
            } else if (targetPos < seekerPos) {
                amount = -1;
            }
            return amount;
        }
        
        private void seek() {
            pause(PAUSE_TIME);
            double seekerMidX = seeker.getX() + SEEKER_SIZE / 2;
            int dx = moveAmount(seekerMidX, targetX);
            double seekerMidY = seeker.getY() + SEEKER_SIZE / 2;
            int dy = moveAmount(seekerMidY, targetY);
            
            seeker.move(dx, dy);
        }
        
        public void mouseClicked(MouseEvent e) {
            targetX = e.getX();
            targetY = e.getY();
            remove(targetSquare);
            add(targetSquare, targetX - TARGET_SIZE/2, targetY - TARGET_SIZE/2);
        }
        
    /* private instance variable */
        private int targetX;
        private int targetY;
        private GRect targetSquare;
        private GRect seeker;
    }

    Example two:

    public void PrintMatchingKeys(HashMap<String, String> map) {
            ArrayList<String> keys = new ArrayList<String>();
            Iterator<String> it = map.keySet().iterator();
            while (it.hasNext()) {
                // keys is array list, it is the key (String type) of map
                keys.add(it.next());
            }
            // Reset "it" iterator to allow us to iterate over keys again
            it = map.keySet().iterator();
            while (it.hasNext()) {
                String key = it.next();
                String value = map.get(key);
                // of course contain
                if (key.contains(value)) {
                    println(key + ": " + value);
                }
            }
        }
  • 相关阅读:
    算法导论(1)堆排序
    Opencv--HoughCircles源码剖析
    数据结构算法应用C++语言描述——(1)C++基础知识
    Java编程的23种设计模式
    团队建设
    管理方法论和角色认知
    压力测试:怎样设计全链路压力测试平台
    09-数据库优化方案(二):写入数据量增加时,如何实现分库分表
    08-数据库优化方案(一):查询请求增加时,如何做主从分离
    07-池化技术:如何减少频繁创建数据库连接的性能损耗
  • 原文地址:https://www.cnblogs.com/moveofgod/p/3769928.html
Copyright © 2020-2023  润新知