2016/5/30学习记录

1.模拟栈

package Exercise;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Scanner;

public class Test {

    public static void main(String[] args) {
    ArrayList<Object> list = new ArrayList<>();
    Test a = new Test(list);
    System.out.print("is the steak empty? ");
    System.out.println(a.isEmpty());
    a.push(2);
    a.push(3);
    a.push(5);
    System.out.print("the size of the steak is ");
    System.out.println(a.getSize());
    System.out.print("is the steak empty? ");
    System.out.println(a.isEmpty());
    System.out.print("get the peek number ");
    System.out.println(a.peek());
    System.out.print("pop the peek and return it ");
    System.out.println(a.pop());
    System.out.print("now the peak is ");
    System.out.println(a.peek());
    System.out.print("the size of the steak ");
    System.out.println(a.getSize());
    System.out.print("list the numbers ");
    System.out.println(a.toString());
    }
    Test(ArrayList<Object> list){
        this.list = list;
    }
    //类Test模拟栈

    private ArrayList<Object> list;
    public boolean isEmpty(){
        return list.isEmpty();
    }
    public int getSize(){
        return list.size();
    }
    public Object peek(){
        return list.get(list.size()-1);
    }
    public Object pop(){
        Object o = list.get(list.size()-1);
        list.remove(list.size()-1);
        return o;
    }
    public void push(Object i){
        list.add(i);
    }
    public String toString(){
        return "the steak is "+ list.toString();
    }
}

输出如下

is the steak empty? true
the size of the steak is 3
is the steak empty? false
get the peek number 5
pop the peek and return it 5
now the peak is 3
the size of the steak 2
list the numbers the steak is [2, 3]

2.对象作为成员变量的例子,时钟。

package Exercise;

public class Times {
    private int limit;
    private int num = 0;

    Times(int limit) {
        this.limit = limit;
    }

    int getLimit() {
        return limit;
    }

    int getNum() {
        return num;
    }

    void tick() {
        num++;
        if (num == limit)
            num = 0;
    }

    void show() {
        while (true) {
            tick();
            System.out.println(num);
        }
    }

    public String toString() {
        if (num < 10)
            return "0" + num;
        else
            return "" + num;
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Times t = new Times(24);
        t.show();
    }

}

此函数定义了数字如何跳动。接下来在另一个类中引用两个Times的对象作为变量

 1 package Exercise;
 2
 3 public class ShowTime {
 4     private Times hours = new Times(24);
 5     private Times minutes = new Times(60);
 6
 7     void show() {
 8         while (true) {
 9             minutes.tick();
10             if (minutes.getNum() == 0)
11                 hours.tick();
12             // System.out.printf("%02d:%02d\n",hours.getNum()
13             // ,minutes.getNum());
14             System.out.println(hours + ":" + minutes);
15         }
16
17     }
18
19     public static void main(String[] args) {
20         // TODO Auto-generated method stub
21         ShowTime st = new ShowTime();
22         st.show();
23         // String s = "123";
24         // Integer i = 12;
25         // s=i+"";
26         // System.out.println(s);
27     }
28
29 }

其中第14行,直接用hours和minutes调用了Times中的toString函数,因为hours+":"编译器判断时会默认hours为字符串,所以直接调用之。

时间: 2024-10-19 07:22:30

2016/5/30学习记录的相关文章

2016/5/17学习记录

1出现void is an invalid type for the variable的情况的解决方案. void is an invalid type for the variable d的意思是: 变量d不支持void类型 第一步:检查拼写是否错误;  第二步:检查函数的位置,尤其是存在嵌套关系的函数. 今天我联系继承的时候把定义函数的部分写在了main函数里,跳出了这样的问题,后来经过排查发现输错了位置. 2今天的代码,主要是学习了继承,简单的例子,用到了ArrayList容器的方法. p

2016/5/29学习记录

1.多态和动态绑定的例子,有助于理解 1 public class Test { 2 public static void main(String[] args) { 3 new A(); 4 new B(); 5 } 6 } 7 8 class A { 9 public int i = 7; 10 11 public A() { 12 setI(20); 13 System.out.println("the number of i in A is " + i); 14 } 15 16

2016/5/21学习记录

1.重大教训!先上代码 1 package Pra; 2 3 public class Read { 4 5 public static void main(String[] args) { 6 T a = new T(); 7 Read.swap(a); 8 System.out.println("e1 = "+a.e1+"e2 = "+a.e2); 9 } 10 public static void swap(T t){ 11 int temp = t.e1;

2016/6/7学习记录

1.接口和抽象类的区别,详情见转载的几篇文章,分析的非常透彻 http://blog.csdn.net/xw13106209/article/details/6923556 几个小例子,有助于理解. package Demo; import java.util.Arrays; public class Test3 { public static void main(String[] args) { // TODO Auto-generated method stub C[] s = { new

2016/06/02学习记录

1一个异常抛出的小例子 1 package Demo; 2 3 import java.util.Scanner; 4 5 public class RedTwo { 6 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 Scanner in = new Scanner(System.in); 10 System.out.println("Please enter an intege

2016/6/5学习记录

1.注意Scanner的用法,使用new时候Scanner的构造方法有两种,+Scanner(sourse:file)和+Scanner(sourse:String),比如写Scanner a = new Scanner("java.txt");会从字符串“java.txt”中读取. public class ClassOne { public static void main(String[] args) throws Exception { File b = new File(&q

2016/5/18学习记录

1.package 当在同一个包里面的对象相互调用其他类里面的函数,可以直接使用. Scanner是系统类库里面的,在java.util的包里. String在Java.lang的包里. package是组织代码的一种形式,类的外面package. 如果不在自己的package里使用其他包里面的函数,用import来实现. Clock.Display.java CLock包里面的Clock.Display包里面的java. 最终包的关系转化成为文件里面的目录关系

个人日志-2016.6.30

姓名 刘鑫 时间 2016.6.30 学习内容 1.   小组汇报工作和讨论 2.   学习使用百度API离线地图 添加所需要的jar包: i 在application中添加开发密钥: <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="WqnqPEMenRrCOiF7nrDhHdkKfipidIr7" />     添加所需权限: 所遇问题 错误原因:包中没有出现的 2.错

2016年5月份学习记录

                             2016年5月份学习记录 学c++都快5个月了,连一篇完整的学习记录都没写过,今天突发奇想(其实本来就应该写),就写了这么一篇学习记录(呵呵). 最近几天,一会不是写解题报告,就是做poj,有时玩会自己编(参考了别人代码的)的2048,页面做的还不错,还做coj.都快忙不过来了.最近又翻出一本叫<数据结构>的书,是清华大学的邓俊辉老师写的,很详细,还有示意图,很不错的书.准备“啃”个三四遍,反正一周“啃”完一次,课间也在那儿拼命地看,自