zoukankan      html  css  js  c++  java
  • 集合、容器(时钟表,记事本,中英转换)

    一:简单的时钟表

    收获:虽然代码很短,但是做这个题的时候头脑清晰,相对之前有了框架基础,和逻辑思维

    思路:定义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);
        }
    
    }

    测试截图:

  • 相关阅读:
    应用服务&领域服务
    Net程序调试
    node.js爬虫
    Amazon AWS S3 操作手册
    Spring MVC的异步模式DefferedResult
    mysql解决datetime与timestamp精确到毫秒的问题
    更改MySQL数据库的编码为utf8mb4
    MySQL中的表中增加删除字段
    Sublime Text 全程指引 by Lucida
    自定义多状态高仿应用下载百分数view
  • 原文地址:https://www.cnblogs.com/hhjing/p/11802376.html
Copyright © 2011-2022 走看看