1、一、【必做题】 1 ( 1) 定义一个人类 Person: 1)定义一个方法 sayHello(),可以向对方发出问候语“ hello,my name is XXX” 2)有三个属性:名字、身高、体重 ( 2)定义一个 PersonCreate 类 : 1)创建两个对象,分别是 zhangsan, 33 岁, 1.73; lishi, 44, 1.74 2)分别调用对象的 sayHello()方法。 ( 答案 : Person.java、 PersonCreate.java) 2( 1)定义一个人类 Person: 1)定义一个方法 sayHello(),可以向对方发出问候语“ hello,m
2、y name is XXX” 2)有三个属性:名字、身高、体重 3)通过构造方法,分别给三个属性赋值 ( 2)定义一个 Constructor 类: 1)创建两个对象,分别是 zhangsan, 33 岁, 1.73; lishi, 44, 1.74 2)分别调用对象的 sayHello()方法。 ( 答案 : Constructor.java、或者是 Person3.java) 3( 1)定义一个 矩形类 Rectangle: 1)定义三个方法: getArea()求面积、 getPer()求周长, showAll()分别在控制台输出长、宽、面积、周长。 2)有 2 个属性:长 length
3、、宽 width 3)通过构造方法 Rectangle(int width, int length),分别给两个属性赋值 ( 答案 :Rectangle.java) 4 定义一个点类 Point,包含 2 个成员变量 x、 y 分别表示 x 和 y 坐标, 2 个构造器 Point()和 Point(int x0,y0),以及一个 movePoint( int dx,int dy)方法实现点的位置移动。 () public class Point private int x0; private int y0; public Point() public Point(int x0,int y0)
4、 this.x0=x0; this.y0=y0; public void movePoint(int dx,int dy) this.x0 = this.x0 + dx; this.y0 = this.y0 + dy; 5 编写一个程序,创建两个 Point 对象 p1、 p2,分别调研 movePoint 方法后,打印 p1 和p2 的坐标。 public class Point private int x0; private int y0; public Point() public Point(int x0,int y0) this.x0=x0; this.y0=y0; public v
5、oid movePoint(int dx,int dy) this.x0 = this.x0 + dx; this.y0 = this.y0 + dy; 6 ( 1)定义一个动物类 Creature 1)定义一个方法 setSnarl(Cat cat)可以设置动物发出猫的声音 2)setSnarl(Dog dog)可以设置动物发出狗的声音 3)定义一个 outPut()方法,可以输出动物的声音 ( 2) 要求定义一个猫类 Cat,具有猫的声音,将猫类传入动物类 Creature 的吼叫方法setSnarl(Cat cat)可以设置动物发出猫的声音 ( 3) 要求定义一个狗类 Dog,具有 狗
6、的声音,将狗类传入动物类 Creature 的吼叫方法setSnarlDog dog)可以设置动物发出狗的声音 ( 4) 定义一个 Sound 类,在 main 方法里调用 Creature 类的 setSnarl()和 outPut()方法分别设置动物的声音和输出动物的声音 效果 显示: 7定义一个圆类 Circle,描述圆对象。圆有一个属性 radius 表示半径,还有一个 findArea方法用于计算圆的面积。 定义一个测试类。给半径赋值为 5,并且输出圆的面积。 8、定义一个笔记本类,该类有颜色( char)和 cpu 型号( int)两个属性。 (1)无参和有参的两个构造方法;有参构
7、造方法可以在创建对象的同时为每个属性赋值; (2) 输出笔记本信息的方法 然后编写一个测试类,测试笔记本类的各个方法。 public class ComputeTest public static void main(String args) Computer c1 = new Computer(); c1.showComputer(); Computer c2 = new Computer(红 , 32); c2.showComputer(); class Computer private char color; private int cpuNum; public Computer() p
8、ublic Computer(char color, int cpuNum) this.color = color; this.cpuNum = cpuNum; public char getColor() return color; public void setColor(char color) this.color = color; public int getCpuNum() return cpuNum; public void setCpuNum(int cpuNum) this.cpuNum = cpuNum; public void showComputer() System.o
9、ut.println(“笔记本的颜色 :“ + getColor(); System.out.println(“笔记本的 CPU型号 :“ + getCpuNum(); 9定义一个汽车类 Vehicle,要求如下: ( 1)属性包括:汽车品牌 brand( String 类型)、颜色 color( String 类型)和速度 speed( double类型),并且所有属性为私有。 ( 2)至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为 0)。 ( 3)为私有属性提供访问器方法。注意:汽车品牌一旦初始化之 后不能修改。 ( 4)定义一个一般方法 run(),用
10、打印语句描述汽车奔跑的功能 定义测试类 VehicleTest,在其 main 方法中创建一个品牌为“ benz”、颜色为“ black”的汽车。 public class Vehicle private String brand; private String color; private double speed; Vehicle() Vehicle(String brand,String color) this.brand = brand; this.color = color; speed = 0; public String getColor() return color; publ
11、ic void setColor(String color) this.color = color; public double getSpeed() return speed; public void setSpeed(double speed) this.speed = speed; public void run() System.out.println(getColor()+“的 “+getBrand()+“的速度是“+getSpeed(); public String getBrand() return brand; 10. 定义一个时间类,提供设定时间和显示时间的方法,其中设定时间
12、的方法需要校验数据的正确性,并在 main 方法中验证。 11. 设计 BOOK 类,包括 ISBN 号( string)、书名( string)、作者( string)以及表示是否已借出的成员( bool)。创建返回这些成员的访问方法,以及借书还书的方法。 12、为图书馆创建一个 Patron 类, 包括读者姓名、图书证号以及借阅费用(如果欠费的话)。 创建设定借书费的方法。定义一个方法,返回一个布尔值,表示读者是否欠费。 public class Patron private String name; private String bookNum; private double money
13、; public Patron(String name, String bookNum, double money) this.name = name; this.bookNum = bookNum; this.money = money; public boolean isOver() return money 0 ? true : false; 二、【选做题】 1、( 1)编写一个时间类 MyTime,包含一个构造方法, 3 个私有成员变量hour,minute,second 以及与它们相对应的 get 与 set 方法 (如 hour 有 getHour 和setHour 方法,分别表示
14、获得和设置 hour),再加上一个转换成字符串的方法toString。 ( 2)编写一个日期类 MyDate,包含一个构造方法, 3 个私有成员变量year,month,day 以及与它们相对应的 get 与 set 方法,再加上一个转换成字符串的方法 toString。 ( 3)编写一个 FullTime 类,包含一个 MyTime 类型的私有成员变量 time 和一个 MyDate 类型的成员变量 date,以及与它们相对应的 get 与 set 方法,一个构造方法,再加上一个转换成字符串的方法 toString。 ( 4)假设当前时间是 2002 年 7 月 30 日 22 点 12 分
15、 35 秒,编写一个程序,用 FullTime 类设置时间为以上时间,并打印。 public class MytimeTest public static void main(String args) MyTime myTime = new MyTime(); myTime.setHour(20); myTime.setMinute(20); myTime.setSecond(18); MyDate myDate = new MyDate(); myDate.setYear(2012); myDate.setMonth(4); myDate.setDay(10); System.out.pri
16、ntln(myDate.toString() + myTime.toString(); class MyTime private int hour; private int minute; private int second; public int getHour() return hour; public void setHour(int hour) this.hour = hour; public int getMinute() return minute; public void setMinute(int minute) this.minute = minute; public in
17、t getSecond() return second; public void setSecond(int second) this.second = second; Override public String toString() return hour + “点 “ + minute + “分 “ + second + “秒 “; class MyDate private int year; private int month; private int day; public int getYear() return year; public void setYear(int year
18、) this.year = year; public int getMonth() return month; public void setMonth(int month) this.month = month; public int getDay() return day; public void setDay(int day) this.day = day; Override public String toString() return year + “年 “ + month + “月 “ + day + “日 “; 2、设计一个类 Student,该类包括姓名、学号和成绩。设计一个方
19、法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。 public class Student private String name; private String number; private int score; public Student() public Student(String name, String number, int score) this.name = name; this.number = number; this.score = score; public String getName() return name; public void setName(S
20、tring name) this.name = name; public String getNumber() return number; public void setNumber(String number) this.number = number; public int getScore() return score; public void setScore(int score) this.score = score; public void sortByScore(Student students) int max= students0.score; for(int i =0 ;
21、istudentsj.getScore() Student b = studentsi; studentsi = studentsj; studentsj = b; System.out.println(“按成绩排序后的结果如下 :“); for(int i = 0 ;istudents.length;i+) System.out.print(studentsi.getName() + “ “+ studentsi.getNumber()+“ “+studentsi.getScore(); System.out.println(); public class StudentTest public static void main(String args) Student s1= new Student(“Kitty“,“0000001“,70); Student s2= new Student(“Dingdang“,“0000002“,85); Student s3= new Student(“Tom“,“0000003“,60); Student students = new Students1,s2,s3; Student s = new Student(); s.sortByScore(students);