留下两个例子作为参考,

1. 追逐小方块的例子

2. HashMap 和 Iterator 的例子

Example one:

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

Java 07 example的更多相关文章

  1. Effective Java 07 Avoid finallizers

    NOTE Never do anything time-critical in a finalizer. Never depend on a finalizer to update critical ...

  2. .Net转Java.07.IDEA和VS常用操作、快捷键对照表

      功能 IDEA 2017.1 快捷键   Visual Studio 2015 快捷键 文档 格式化整个文档 Ctrl+Alt+L   Ctrl+E,D 或者 Ctrl+K,D  文件 显示最近的 ...

  3. 从零开始学JAVA(07)-使用SpringMVC4写helloworld

    一.关于开发环境 Eclipse IDE for Java EE Developers Jdk 1.7 (32位版本) SpringMVC 4.1.5.RELEASE apache-tomcat-7. ...

  4. Effective Java Index

    Hi guys, I am happy to tell you that I am moving to the open source world. And Java is the 1st langu ...

  5. Java性能优化权威指南-读书笔记(一)-操作系统性能监控工具

    一:CPU 1. 用户态CPU是指执行应用程序代码的时间占总CPU时间的百分比. 系统态CPU是指应用执行操作系统调用的时间占总CPU时间的百分比.系统态CPU高意味着共享资源有竞争或者I/O设备之间 ...

  6. 检查Linux服务器性能

    如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在? 概述通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. • uptime• ...

  7. 60,000毫秒内对Linux的性能诊断效的方法

    转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0225/168.html?1456484140 60,000 毫秒内对 Linux 的性能诊断 当你 ...

  8. 数据库ORM框架GreenDao

    常用的数据库: 1). Sql Server2). Access3). Oracle4). Sysbase5). MySql6). Informix7). FoxPro8). PostgreSQL9) ...

  9. Linux系统性能10条命令监控

    Linux系统性能10条命令监控 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 p ...

随机推荐

  1. java实现双向循环链表

    java实现循环链表:http://www.cnblogs.com/lixiaolun/p/4643911.html 在单链表中,查询下一个元素的时间是O(1).查询上一个元素的时间却是O(n). 为 ...

  2. C 语言-HelloWorld

    C 语言-HelloWorld C 语言是一种通用的.面向过程式的计算机程序设计语言.1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言. C 语言是一 ...

  3. OpenERP Web开发

    转自:http://blog.csdn.net/mackz/article/details/22581517 在7和8下测试均可. 1.相关库/框架 主要:jQuery(使用1.8.3,如果使用新版本 ...

  4. javascript 自定义动画函数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  5. iOS 全屏侧滑/UIScrollView/UISlider间滑动冲突

    代码地址如下:http://www.demodashi.com/demo/13848.html 效果预览 一.前期准备 有一个支持全屏侧滑返回的视图控制器ViewController,ViewCont ...

  6. iOS GZWaterfall任何形式的瀑布流

    概述 使用UICollectionView可以布局各种各样的瀑布流,下面我写了几种不同布局的瀑布流样式 详细 代码下载:http://www.demodashi.com/demo/11018.html ...

  7. Eclipse在线安装hibernate tools插件

    今天在看hibernate的视频,当讲到eclipse安装hibernate插件时,视频中的方法是安装本地的一个文件,可我电脑里并没有,于是找网上的在线安装方法,发现有两种,下面介绍这两种——> ...

  8. 最近,波兰的程序员Chris(也叫KreCi)公布了他的第十四期程序员收入报告

    http://www.aqee.net/developer-income-report-14/最近,波兰的程序员Chris(也叫KreCi)公布了他的第十四期程序员收入报告.数据显示,上月是目前为止他 ...

  9. 浏览器HTTP请求分析

    普通网民打开网页,访问网站,并不需要了解所谓HTTP协议.作为软件工程师,了解一下浏览器的工作过程还是一件比较有意思的事情.我向大家介绍一下当我们在浏览器的地址栏里面回车的时候,浏览器如何和Web服务 ...

  10. Docker背景介绍

    背景介绍 Docker是PasS提供商DoctCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源.Docker近期非常火热,无论是从 ...