第二次考核

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
posted @ 2018-10-13 14:39  adroitse  阅读(317)  评论(0编辑  收藏  举报