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);

            }

        }

    }

你可能感兴趣的:(example)