Java 07 example

留下两个例子作为参考,

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,布布扣,bubuko.com

时间: 2024-10-15 10:24:04

Java 07 example的相关文章

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

  功能 IDEA 2017.1 快捷键   Visual Studio 2015 快捷键 文档 格式化整个文档 Ctrl+Alt+L   Ctrl+E,D 或者 Ctrl+K,D  文件 显示最近的文件 Ctrl+E     文件 显示最新更改的文件 Ctrl+Shift+E     文档 显示文档结构 Ctrl+F12     文件 打开文件夹 Ctrl+Click 文档标题     文件 关闭文件 Shift+Click文档标题     文档 首尾大括号跳转 Ctrl+[或者Ctrl+]

java 07 接口

1.interface 接口 2.接口中的成员修饰符固定 public static fianl    //成员变量    只通过类访问 public abstract       //成员函数 3.接口里所有的方法都是抽象的,抽象类中,可以没有抽象方法. 类与类继承,类与接口是实现的关系.降低耦合(高内聚,低耦合). 通过接口实现多重继承. 4.最低标准 5. class Interfacedemo{public static void main(String[] agrs){ PC pc =

java 07 多态强转

例子1 class Interfacedemoplus{public static void main(String[] agrs){ Womanstar Won =new Womanstar(); //隐式转换 Whit w = Won; Rich r = Won; //无包含关系,强转 Beautiful b = (Beautiful)w; //打印Beau b.Beau(); //小范围 往大范围转 WRB wrb =(WRB)b; Whit www =wrb; }} //定义接口 int

快速诊断Linux性能

导读 当你为了解决一个性能问题登录到一台 Linux 服务器:在第一分钟你应该检查些什么? 通过运行下面十个命令,你就能在六十秒内粗略地了解系统正在运行的进程及资源使用情况.通过查看这些命令输出的错误信息和资源饱和度(它们都很容易看懂),你可以接下来对资源进行优化.饱和是指某个资源的负载超出了其能够处理的限度,一旦出现饱和,它通常会在请求队列的长度或等待时间上暴露出来. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -

60,000毫秒内对Linux进行性能诊断

当你登陆上一个有性能问题的Linux服务器:在第一分钟你会做什么? 在Netflix我们有大规模的EC2 Linux云,也有许多性能分析工具来监控和诊断服务器性能.例如针对云监控的Atlas,针对on-demand机器分析的Vector.这些工具帮助我们解决了大部分问题,但我们偶尔也需要登录服务器,并且运行一些标准的Linux性能工具. 在本文中,Netflix性能工程师团队将介绍,在命令行中,对性能问题分析时所使用的标准Linux工具,前60秒做的事情. 最初60秒:摘要 通过下面10个命令,

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

转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0225/168.html?1456484140 60,000 毫秒内对 Linux 的性能诊断 当你为了解决一个性能问题登录到一台 Linux 服务器:在第一分钟你应该检查些什么? 在 Netflix,我们有一个巨大的 EC2 Linux 云,以及大量的性能分析工具来监控和诊断其性能.其中包括用于云监控的 Atlas,以及用于按需实例分析的 Vector.虽然这些工具可以帮助我们解决大多数问题,但

linux10个命令快速掌握linux服务器负载

如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?通过十条命令在一分钟内对机器性能问题进行诊断. 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 free -m sar -n DEV 1 sar -n TCP,ETCP 1 top 其中一些命令需要安装sysstat包,有一些由pr

用十条命令在一分钟内检查 Linux 服务器性能

原文地址: http://www.oschina.net/news/69132/linux-performance 如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?来看Netflix性能工程团队的这篇博文,看它们通过十条命令在一分钟内对机器性能问题进行诊断. 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1

【linux】关于分析系统问题的前几分钟

为了解决性能问题,你登入了一台Linux服务器,在最开始的一分钟内需要查看什么?你可以在几分钟内就对系统资源的使用情况和进程的运行状况有大体上的了解.无非是先查看错误信息和饱和指标,再看下资源的使用量 1.之前发生了什么 [[email protected] ~]# history 1 2015-12-11_21:35:16 htop 2 2015-12-11_21:35:19 df -h 3 2015-12-11_21:35:25 cd /data/backup/ 4 2015-12-11_2