第二次过程性考核
第一题:
码云地址:https://gitee.com/lxtbb/Java/blob/master/Second/One.java
定义一个有关学生的Student类,内含类成员变量: String name、String sex、int age,所有的变量必须为私有(private)。
1.编写有参构造函数:
能对name,sex,age赋值。
2.覆盖toString函数:
按照格式:类名 [name=, sex=, age=]输出。使用idea自动生成,然后在修改成该输出格式
3.main方法中
输入1行name age sex , 调用上面的有参构造函数新建对象。
输入样例:
tom 18male
输出样例:
Student [name='tom', sex='male', age=15]
代码:
import java.util.Scanner; class Student{ private String name; private String sex; private int age; public Student(){ this.name = "aaa"; this.sex = "male"; this.age = 111; } public void toString(String n, int a, String s){ this.name = n; this.sex = s; this.age = a; System.out.println("Student [name='"+this.name+"', sex='"+this.sex+"', age="+this.age+"]"); } } public class One{ public static void main(String[] args){ Scanner reader = new Scanner(System.in); String n = reader.next(); int a = reader.nextInt(); String s = reader.next(); Student ww = new Student(); ww.toString(n,a,s); } }
程序设计思路:先引入函数,再定义类,之后定义构造方法,并按格式输出,最后在Main函数中调用子类。
知识点:定义类,构造方法;考试时候没做出来,后来问同学写出来的
运行结果:
第二题
码云地址:https://gitee.com/lxtbb/Java/blob/master/Second/Two.java
程序填空题。根据题目要求完善下面的代码。请提交完整代码。 一个木块如果高度比宽度大,我们说它是竖着放的,否则我们说它是平放的。 读入一个木块的高度和宽度。如果它是平放的,则输出A,否则输出B。
代码:
import java.util.Scanner; public class Two{ 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。
知识点:方法重载,构造函数
运行结果:
第三题:
码云地址:https://gitee.com/lxtbb/Java/blob/master/Second/Three.java
程序改错题。以下代码存在错误,请修改后提交。
输入样例:
无
输出样例:
animal shout!
wangwang……
Dog is running
代码:
public class Three { 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的上转型对象,即不能操作子类新增的成员变量,也不能调用子类新增的方法
知识点:子类的继承性,对象的上转型对象
运行结果:(电脑运行不出来)
第四题
码云地址:https://gitee.com/lxtbb/Java/blob/master/Second/Four.java
代码:
import java.util.Scanner; public class Four { 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; } }
程序设计思路:补充代码要求输出5个整数的平均值,保留小数点后两位,定义有参数的fun方法,利用参数返回值最后可输出五个数的平均数。
知识点:参数传值,定义方法;
运行结果:
学习内容 | 代码(行) | 博客(字) |
类与对象,子类和继承,关键字 | 290 | 700 |