https://gitee.com/sfr123/the_second_assessment/tree/master/SFR
7-1 学生类-构造函数
定义一个有关学生的Student类,内含类成员变量: String name、String sex、int age,所有的变量必须为私有(private)。
1.编写有参构造函数:
能对name,sex,age赋值。
2.覆盖toString函数:
按照格式:类名 [name=, sex=, age=]输出。使用idea自动生成,然后在修改成该输出格式
3.对每个属性生成setter/getter方法
4.main方法中
输入1行name age sex , 调用上面的有参构造函数新建对象。
程序设计思路:定义学生类,定义构造方法,对name,sex,age赋值,覆盖实现toString函数以便打印输入该类对象时输出类名 [name=, sex=, age=]。main方法中调用有参构造函数新建对象。
使用到的知识点:创建类和对象,构造方法,定义tostring方法,Main调用有参函数
运行结果:
7-2 定义类
补充代码,完成输出要求。
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int a,b,c,d,e;a = in.nextInt();b = in.nextInt();c = in.nextInt();d = in.nextInt();e = in.nextInt();RR rr = new RR();double dd = rr.fun(a,b,c,d,e);System.out.printf("%.2f",dd);}}class RR{
public int fun(int a,int b,int c,int d,int e){
return (a+b+c+d+e)/5;
}
}
程序设计思路:由题意可知,需要定义RR类(求键盘输入五个数的平均值),然后在return传出返回值的时候编写平均数式子,这样输出的内容即为5个数的平均值。
运行结果:
7-3 横平竖直
程序填空题。根据题目要求完善下面的代码。请提交完整代码。 一个木块如果高度比宽度大,我们说它是竖着放的,否则我们说它是平放的。 读入一个木块的高度和宽度。如果它是平放的,则输出A,否则输出B。
import java.util.Scanner; public class Main{public static void main(String[] args){Scanner in = new Scanner(System.in);int height, width;char status;height = in.nextInt();width = in.nextInt();Board board = new Board(height, width);status = board.getStatus();System.out.print(status);} } class Board{int height, width;public Board(int height, int width){this.height = height;this.width = width;}public char getStatus(){int A=1,B=0;if(height<=width){return status(1);}else{return status(1.0);}}public char status(double rate){System.out.println("B");return 0;}public char status(int rate){System.out.println("A");return 0;}}
程序设计思路:定义了重载的方法,方法名相同,但是传入参数的类型不同,根据传入参数的类型进行匹配,将返回值设为A和B。
使用到的知识点:方法重载,参数传值。
运行结果:
7-4 程序改错题2
public class Do {public static void main(String[] args) {Dog animal = new Dog();animal.shout();animal.run();} }class Animal {void shout() {System.out.println("animal shout!");} }class Dog extends Animal {void shout() {super.shout();System.out.println("wangwang……");}void run() {System.out.println("Dog is running");} }
程序设计思路:animal是Dog的上转型对象,操作不了子类新增的方法,可以强制转换把上转型对象转换为子类的对象。
运行结果:
学习内容 | 代码(行) | 博客(字) |
类与对象,子类和继承,关键字 | 450 | 600 |