上机练习
打印九九乘法表,先创建一个9行的二维不规则数组,然后把乘法表的每一行存入该数组的对应行中,最后用循环语句读取数组的每一行并打印。
提示:数组类型是String,数组的每个元素(下标从0开始):a[i][j] = (i+1) + " * " + (j+1) + “=” + (i+1)*(j+1) + “\t”;
编写一个Java程序,
创建一个二维不规则数组,数组的形状及大小要与如下的三角形数列相一致.
首先把三角形数列的每行元素按照顺序依次存入二维不规则数组的对应行中,
然后再逐一的访问二维不规则数组中的每个元素并相加求和,最后输出求和结果.
1
1 2
1 2 3
. . .
1 2 3 … 100
编写一个Java程序,除了主类TestGeometry外,该程序还有一个Shape接口、一个Rectangle类和一个Circle类。要求:
(1)Shape接口有两个抽象方法:
public abstract double computeArea(),用于计算面积;
public abstract double computeLength(),用于计算周长。
(2)Rectangle类实现Shape接口,实现Shape接口计算面积和周长的方法,并打印输出面积和周长,
格式为:矩形的面积 = xxx; 矩形的周长 = xxx。
有两个私有成员变量分别保存矩形的长和宽,一个构造方法用于初始化这两个成员变量。
(3)Circle类实现Shape接口,实现计算圆的面积和周长的方法,并打印输出面积和周长,
格式为:圆的面积 = xxx; 圆的周长 = xxx。
有一个私有成员变量用于保存圆的半径,一个构造方法用于初始化这个成员变量。
圆周率PI = 3.142定义为常量。
(4) TestGeometry类中定义实例方法double computeArea(Shape s)和double computeLength(Shape s),
这两个方法通过接口回调分别计算实现类对象的面积和周长。
在TestGeometry类的main方法中从键盘输入矩形的长和宽以及圆的半径,
分别创建Rectangle类和Circle类的对象,
调用TestGeometry类的实例方法computeArea(Shape s)和 computeLength(Shape s)计算面积和周长。
(1)定义一个People类,有姓名(String name)和年龄(int age)两个private属性,
有4个set及get方法:
setName()方法设置姓名,setAge()方法设置年龄,
getName()方法获取姓名,getAge()方法获取年龄,
要求姓名和年龄的设置与获取必须通过set和get方法,不管是在People类内部还是外部。
有一个print()方法打印输出姓名和年龄,
格式为:“name = xxx; age = xxx;”。
(2)定义People的子类Student,新增private的学号属性(String id),
通过构造方法设置学号属性,而必须通过getId()方法获取学号属性。
在类Student中重写父类的print()方法来打印输出学生的姓名、年龄、学号,
在该方法中不要读取姓名和年龄属性,学号属性的显示格式为:“id = xxx;”。
(3)在类Student的main方法中创建一个Student对象,让这个对象上转型并自己设定对象的所有属性,
然后调用上转型对象的print()方法打印输出对象的姓名、年龄、学号。
学生有学号、姓名、年龄三个属性,学号和姓名用字符串表示,年龄用整数值表示。
定义一个类Key作为键类,该类包含一个字符串成员变量存储学号;
定义一个类Student作为值类,该类包含一个int型成员变量保存年龄,一个字符串成员变量保存姓名。
将学号从“001”到“015”的学生以学号乱序的方式存入一个TreeMap集合中,
Key对象作为键,Student对象作为值,然后按照学号从大到小的顺序将集合中的元素逐一的打印输出。
分别用两种方式实现建的大小比较:
(1)实现Comparable接口;
(2)实现自定义比较器Comparator。
要求:使用泛型版的TreeMap集合。
注意,学号“001”小于学号“002”,需要先将学号转换成整数值,然后再比较大小。
定义工人类Worker,该类有工号(String id)和姓名(String name)两个属性,
定义一个构造方法Worker(String id, String name),通过这个构造方法设定两个属性的值。
这两个属性组成的字符串id+name唯一标识一个工人对象,
也就是id+name相等的Worker对象认为是相同的对象。
在测试类Test的main方法中创建一个HashSet集合,创建5个Worker对象添加到HashSet集合中,
自己设定每个对象的属性值,其中必须有两个对象是重复的,
要求HashSet集合能判断出相同的对象,从而在集合中避免存入重复的元素,
因此要重写Worker的hashCode()方法和equals()方法。
另外,重写Worker类的toString()方法,该方法返回两个属性组合成的字符串id + name,
用以打印输出对象的内容。最后遍历并打印输出HashSet集合中的每个元素。