一:简单的时钟表
收获:虽然代码很短,但是做这个题的时候头脑清晰,相对之前有了框架基础,和逻辑思维
思路:定义Display类,其中有变量value,limit,函数increase,getValue
定义另一个类Clock,定义hour ,minute,增加函数
package clock; //编写一个简单的时钟 public class Display { private int value=0;//所要的到的值 private int limit=0;//所需要比较的值 Display(int limit){ this.limit=limit; } public void increase() {//不断加1,并判断变0的条件 value++; if(value==limit) value=0; } public int getValue() { return value; } public static void main(String[] args) { Display display=new Display(24); for(;;) { display.increase(); //调用increase函数 System.out.println(display.getValue()); } } }
package clock; /* * 若Clock和上一个类Display没有在同一个包里 * 要想对其进行调用,需要在此文件里增加包 * import Display.Clock; */ public class Clock { private Display hour=new Display(24);//定义Display的对象hour private Display minute=new Display(60);//定义Display的对象minute public void start() { while(true) { minute.increase(); if(minute.getValue()==0) { hour.increase(); } System.out.println(hour.getValue()+":"+minute.getValue()); } } public static void main(String[] args) { Clock clock=new Clock(); clock.start(); } }
二;记事本
思路:能存储记录,统计存储的数量
查看所有存进去的记录
删除所要删除的信息
查看记录信息的列表
package nodebook; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import org.omg.CORBA.PRIVATE_MEMBER; /* * 做一个简单的记事本 * 1.添加事情add * 2.可以删除指定事情remove * 3.可以查看列表list * 4.可以查看指定位置的信息 * 5.计算总信息量的数量 * * 思路:定义接口 * 在逐步完成各个接口的内容 * 主函数中对其进行调用 */ public class NodeBook { private ArrayList<String> notes=new ArrayList<String>();//定义容器 public static int size=0; public void add(String s) { //增加信息 notes.add(s); size++; } public int getSize() { //返回信息的数量 return size; } public void getNode(int index) { //返回指定位置的信息 notes.get(index); } public void removeNode(int index) { //删除指定位置的信息 notes.remove(index); size--; } public String[] listNode() { String[] a=new String[notes.size()]; return notes.toArray(a); //把notes中的内容填入到数组a中 } //主函数 // public static void main(String[] args) { // NodeBook nodeBook=new NodeBook(); // nodeBook.add("first"); // nodeBook.add("second"); // nodeBook.add("third"); // String[] aString=nodeBook.listNode(); // for(String s:aString) { //输出数组aString中的值 // System.out.println(s); // } // System.out.println(nodeBook.getSize()); // System.out.println("---------------------------"); // nodeBook.add("fourth"); // nodeBook.removeNode(2); // nodeBook.listNode(); // String[] b=nodeBook.listNode(); // for(String s:b) { // System.out.println(s); // } // System.out.println(nodeBook.getSize()); // System.out.println("---------------------------"); // // } public static void main(String[] args) { HashSet<String> nodeBook=new HashSet<String>(); //不可以显示多个相同的信息 nodeBook.add("fifth"); nodeBook.add("sixth"); nodeBook.add("seventh"); nodeBook.add("fifth"); //String[] aString=nodeBook.listNode(); for(String s:nodeBook) { System.out.println(s); } System.out.println(nodeBook.size()); System.out.println("---------------------------"); ArrayList<String> node=new ArrayList<String>(); //可以显示多个相同的信息 node.add("fifth"); node.add("sixth"); node.add("seventh"); node.add("fifth"); //String[] aString=nodeBook.listNode(); for(String s:node) { System.out.println(s); } System.out.println(node.size()); System.out.println("---------------------------"); } }
代码截图:
三:中英转换
散列表:可以任何实现hash()函数的类的对象做值来存放对象,Hash表是非常有用的数据结构
package translation; //数据结构 import java.util.HashMap; import java.util.Scanner; //先定义接口 public class Translation { private HashMap<Integer, String> tran=new HashMap<Integer, String>(); //集合 public Translation() { //将相对应的信息存放在哈希表中 tran.put(1,"one"); tran.put(2,"two"); tran.put(3,"tree"); tran.put(4,"four"); tran.put(5,"fifth"); tran.put(6,"sixth"); } public String getEnglish(int index) { return tran.get(index); } public static void main(String[] args) { // TODO Auto-generated method stub Translation translation=new Translation(); Scanner scanner=new Scanner(System.in); System.out.println("请输入需要转换的数字(1-6):"); int a=scanner.nextInt(); String name=translation.getEnglish(a); System.out.println(name); } }
测试截图: