16012009徐小东_考核二
https://gitee.com/x-h-b/16012009xuxiaodong_kaoheer
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 , 调用上面的有参构造函数新建对象。
输入样例:
tom 15 male
输出样例:
Student [name='tom', sex='male', age=15]
1.程序设计思路:定义一个Student类,内含成员变量 String name、String sex、int age,所有的变量必须为私有(private)。对name,sex,age赋值。覆盖toString函数。main方法中调用有参构造函数新建对象。
import java.util.Scanner; class Student{ //定义类Student private String name;//成员变量name,sex,age private String sex; private int age; public Student(){ this.name = "sss"; this.sex = "male"; this.age = 20; } public void toString(String n, int a, String s){ //定义tostring方法 this.name = n; this.sex = s; this.age = a; System.out.println("Student [name='"+this.name+"', sex='"+this.sex+"', age="+this.age+"]");//按格式输出 } } public class Test{ //定义Main调用有参函数 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 tt = new Student(); tt.toString(n,a,s); } }
2.运用知识点:定义类,所有成员变量为私有,编写有参构造方法,定义tostring方法,Main调用有参函数,子类与继承。
3.运行结果:
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;
}
}
1.程序设计思路:补充代码要求输出5个整数的平均值,保留小数点后两位。程序中少了计算五个数的平均值,应该在类RR中添加。
2.使用到的知识点:要求输入为正整数,因此定义a,b,c,d,e为整型,返回 为
return (a+b+c+d+e)/5;
3.运行结果:
7-3 横平竖直
程序填空题。根据题目要求完善下面的代码。请提交完整代码。 一个木块如果高度比宽度大,我们说它是竖着放的,否则我们说它是平放的。 读入一个木块的高度和宽度。如果它是平放的,则输出A,否则输出B
输入格式:
输入在一行中给出2个绝对值不超过1000的正整数A和B。
输出格式:
在一行中输出一个字符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;int 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; } }
1.程序设计思路:要求输出格式为A和B,所以定义A,B
2.使用到的知识点:定义整型A,B 输出语句,方法重载,参数传值
3.运行结果:
7-4 程序改错题2
public class Main {
public static void main(String[] args) {
Animal animal = new Dog();
animal.shout();
animal.run();
}
}
class Animal {
void shout() {
System.out.println("animal shout!");
}
void run(){
System.out.println("animal run!");
}
}
class Dog extends Animal {
void shout() {
super.shout();
System.out.println("wangwang……");
}
void run() {
System.out.println("Dog is running");
}
}
1.程序设计思路:Main中有animal.shout()和animal.run()。类中有void shout但没有void run
2.使用到的知识点:定义类的方法,子类的继承
3.运行结果:
学习内容 | 代码(行) | 博客(字) |
类,构造方法与对象,实例成员与类成员,子类与父类,子类继承子类与对象,super关键字 | 460 | 800 |