第二次过程性考核

第一题:

码云地址: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

 

 

 

 

 

 

 

 

 

posted @ 2018-10-13 17:04  刘晓彤  阅读(211)  评论(1编辑  收藏  举报