JAVA第八次作业
1、定义一个点类Point,包含2个成员变量x、y分 别表示x和y坐标,2个构造器Point()和Point(int x0,y0),以及一个movePoint(int dx,int dy)方法实 现点的位置移动,创建两个Point对象p1、p2,分 别调用movePoint方法后,打印p1和p2的坐标。[ 必作题] 课后作业 •
//主函数 package aaa; public class a { public static void main(String[] args) { // TODO Auto-generated method stub Point p1=new Point(5,5); Point p2=new Point(1,1); p1.showPoint(); p2.showPoint(); p1.movePoint(3, -3); p2.movePoint(-5, 5); p1.showPoint(); p2.showPoint(); } } //类 package aaa; public class Point { public Point(int x, int y) { this.x = x; this.y = y; } public Point() { } int x; int y; public void movePoint(int dx,int dy){ this.x=this.x+dx; this.y=this.y+dy; } public void showPoint() { System.out.println("坐标:"+"("+x+","+y+")"); } }
2、定义一个矩形类Rectangle:(知识点:对象的 创建和使用)[必做题]
• 2.1 定义三个方法:getArea()求面积、getPer()求 周长,showAll()分别在控制台输出长、宽、面积 、周长。
• 2.2 有2个属性:长length、宽width
• 2.3 通过构造方法Rectangle(int width, int length), 分别给两个属性赋值
• 2.4 创建一个Rectangle对象,并输出相关信息 课后作业
//主函数 package aaa; public class a { public static void main(String[] args) { // TODO Auto-generated method stub Rectangle s=new Rectangle(10,10); s.showAll(); } } //类 package aaa; public class Rectangle { public Rectangle() { } public Rectangle(int length, int width) { this.length = length; this.width = width; } int length; int width; public int getArea() { return length*width; } public int getPer() { return length*2+width*2; } public void showAll() { System.out.println("长:"+length); System.out.println("宽:"+width); System.out.println("面积:"+getArea()); System.out.println("周长:"+getPer()); } }
• 3、定义一个笔记本类,该类有颜色(char)和cpu 型号(int)两个属性。 [必做题]
• 3.1 无参和有参的两个构造方法;有参构造方法可 以在创建对象的同时为每个属性赋值; • 3.2 输出笔记本信息的方法
• 3.3 然后编写一个测试类,测试笔记本类的各个 方法。 课后作业
//主函数 package aaa; public class a { public static void main(String[] args) { // TODO Auto-generated method stub text a=new text('白',0); a.showAll(); } } //类 package aaa; public class text { public text() { } public text(char color, int cpu) { this.color = color; this.cpu = cpu; } char color; int cpu; public void showAll() { System.out.println("颜色:"+color); System.out.println("型号:"+cpu); } }
• 4、设计一个类Student,该类包括姓名、学号和成 绩。设计一个方法,按照成绩从高到低的顺序输 出姓名、学号和成绩信息。[选做题] 课后作业
//主函数 package aaa; import java.util.Scanner; //设计一个类Student,该类包括姓名、学号和成 绩。 //设计一个方法,按照成绩从高到低的顺序输 出姓名、学号和成绩信息。 public class test { public static void setClass(Student[] test) { Scanner input=new Scanner(System.in); for(int i=0;i<test.length;i++) { System.out.println("请输入第"+(i+1)+"个学生的姓名:"); String name=input.next(); test[i].name=name; System.out.println("请输入第"+(i+1)+"个学生的学号:"); String sio=input.next(); test[i].sio=sio; System.out.println("请输入第"+(i+1)+"个学生的成绩:"); double score=input.nextDouble(); test[i].score=score; } showAll(test); } public static void showAll(Student[] test) { int flag[]=new int[test.length]; double temp=0; for(int i=0;i<test.length;i++) { for(int j=0;j<test.length-i-1;j++) { if(temp<test[j].score) { temp=test[j].score; flag[i]=j; } } } for(int i:flag) { System.out.println("姓名:"+test[i].name); System.out.println("学号:"+test[i].sio); System.out.println("成绩:"+test[i].score); } } public static void main(String[] args) { // TODO 自动生成的方法存根 Student[] test=new Student[3]; for(int i=0;i<test.length;i++) { test[i]=new Student(); } setClass(test); } } //类 package aaa; public class Student { String name; String sio; double score; }
• 5、定义两个类,描述如下: [必做题]
• 5.1定义一个人类Person:
• 5.1.1定义一个方法sayHello(),可以向对方发出问 候语“hello,my name is XXX”
• 5.1.2有三个属性:名字、身高、体重
• 5.2定义一个PersonCreate类:
• 5.2.1创建两个对象,分别是zhangsan,33岁,1.73 ;lishi,44,1.74
• 5.2.2分别调用对象的sayHello()方法。 课后作业
//主函数 package aaa; public class PersonCreate { public static void main(String[] args) { // TODO Auto-generated method stub Person P1=new Person(); P1.hei=33; P1.lon=1.73; P1.name="zhangsan"; Person P2=new Person(); P2.hei=44; P2.lon=1.74; P2.name="lishi"; P1.sayHello(); P2.sayHello(); } } //类 package aaa; public class Person { public Person(String name, double lon, int hei) { this.name = name; this.lon = lon; this.hei = hei; } public Person() { } String name; double lon; int hei; public void sayHello() { System.out.println("hello,my name is "+name); } }
• 6、定义两个类,描述如下: [必做题]
• 6.1定义一个人类Person:
• 6.1.1定义一个方法sayHello(),可以向对方发出 问候语“hello,my name is XXX”
• 6.1.2有三个属性:名字、身高、体重
• 6.1.3通过构造方法,分别给三个属性赋值
• 6.2定义一个Constructor类:
• 6.2.1创建两个对象,分别是zhangsan,33岁, 1.73;lishi,44,1.74
• 6.2.2分别调用对象的sayHello()方法。 课后作业
//主函数 package aaa; public class Constructor { public static void main(String[] args) { // TODO Auto-generated method stub Person p1=new Person("zhangsan",1.73,33); Person p2=new Person("lishi",1.74,44); p1.sayHello(); p2.sayHello(); } } //类 package aaa; public class Person { public Person(String name, double lon, int hei) { this.name = name; this.lon = lon; this.hei = hei; } public Person() { } String name; double lon; int hei; public void sayHello() { System.out.println("hello,my name is "+name); } }
• 7、定义一个汽车类Vehicle,要求如下:[选做题]
• 7.1属性包括:汽车品牌brand(String类型)、颜色 color(String类型)和速度speed(double类型),并 且所有属性为私有。
• 7.2至少提供一个有参的构造方法(要求品牌和颜色可 以初始化为任意值,但速度的初始值必须为0)。
• 7.3为私有属性提供访问器方法。注意:汽车品牌一旦 初始化之后不能修改。
• 7.4定义一个一般方法run(),用打印语句描述汽车奔跑 的功能
• 7.5定义测试类VehicleTest,在其main方法中创建一个 品牌为“benz”、颜色为“black”的汽车。
//主函数 package aaa; public class VchicleTest { public static void main(String[] args) { // TODO Auto-generated method stub Vehicle test=new Vehicle("benz","black",0); System.out.println("品牌:"+test.getBrand()); System.out.println("颜色:"+test.getColor()); System.out.println("速度:"+test.getSpeed()); test.run(); } } package aaa; public class Vehicle { public Vehicle(String brand, String color, double speed) { this.brand = brand; this.color = color; this.speed = 0; } private String brand; private String color; private double speed; public String getBrand() { return brand; } public String getColor() { return color; } public 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("在奔跑"); } }