第二次过程性考核

码云地址:https://gitee.com/Helen_en/16012006__liu_chen/tree/master

 

 7-1 学生类-构造函数

定义一个有关学生的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 15 male

输出样例:

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 = "tom";
        this.sex = "male";
        this.age = 15;
    }

    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  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 ww = new Student();
        ww.toString(n, a, s);
        reader.close();

    }
}

 

 

 

运行结果:

 

tom 15 male

 

Student [name='tom', sex='male', age=15]

 

思路:

1.定义一个有关学生的Student类

2.内含类成员变量: String name、String sex、int age

3.所有的变量必须为私有(private)。

4.编写有参构造函数:

5.使用toString函数:

6.使用main方,调用上面的有参构造函数新建对象。

 

 

7-2 定义类

请补充以下代码,完成输出要求。

复制代码
 1 import java.util.Scanner;
 2 public class Main {
 3     public static void main(String[] args) {
 4                 Scanner in = new Scanner(System.in);
 5                 int a,b,c,d,e;
 6                 a = in.nextInt();
 7                 b = in.nextInt();
 8                 c = in.nextInt();
 9                 d = in.nextInt();
10                 e = in.nextInt();
11                 RR rr = new RR();
12                 double dd = rr.fun(a,b,c,d,e);
13                 System.out.printf("%.2f",dd);
14     }
15 }
16 class RR{
17 
18 
19 }
复制代码

输入格式:

在一行中给出5个不超过1000的正整数。

输出格式:

输出5个整数的平均值,保留小数点后两位

输入样式:

1 2 3 4 5

输出样式:

3.00

代码:

import java.util.Scanner;
public class Average {
    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 2 3 4 5

3.00

思路:

1.看类RR是空的

2.需要一个返回值用return

3.运用参数需要先定义

 

 

7-3 横平竖直

程序填空题。根据题目要求完善下面的代码。请提交完整代码。 一个木块如果高度比宽度大,我们说它是竖着放的,否则我们说它是平放的。 读入一个木块的高度和宽度。如果它是平放的,则输出A,否则输出B。

复制代码
 1 import java.util.Scanner;
 2 public class Main{
 3     public static void main(String[] args){
 4         Scanner in = new Scanner(System.in);
 5         int height, width;
 6         char status;
 7         height = in.nextInt();
 8         width = in.nextInt();
 9         Board board = new Board(height, width);
10         status = board.getStatus();
11         System.out.print(status);
12     }
13 }
14 class Board{
15    int height, width;
16    public Board(int height, int width){
17        this.height = height;
18        this.width = width;
19    }
20    public char getStatus(){
21        if(height<=width){
22           return status(1);
23        }else{
24          return status(1.0);
25        }
26    }
27    public char status(double rate){
28 
29     } 
30     public char status(int rate){
31 
32     }
33 } 
复制代码

 输入格式:

输入在一行中给出2个绝对值不超过1000的正整数A和B。

输出格式:

在一行中输出一个字符A或者B。

输入样例:

50 50

输出样例:

A

代码:

import java.util.Scanner;
public class AB{
    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;

   }
}

 

运行结果:

50 50

 A

思路:

1.看public char status(double rate)和public char status(int rate)是空的

2.题中说打印AB,运用System.out.println

3.错误提醒说没有返回值,运用return0

 

7-4 程序改错题

程序改错题。以下代码存在错误,请修改后提交。

复制代码
 1 public class Main {
 2     public static void main(String[] args) {
 3         Animal animal = new Dog();
 4         animal.shout();
 5         animal.run();
 6     }
 7 }
 8 
 9 class Animal {
10     void shout() {
11         System.out.println("animal shout!");
12     }
13 }
14 
15 class Dog extends Animal {
16     void shout() {
17         super.shout();
18         System.out.println("wangwang……");
19     }
20 
21     void run() {
22         System.out.println("Dog is running");
23     }
24 }
复制代码

输出样例:

 animal shout!

 wangwang……

 Dog is running

 

代码:

public class Main {
    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 shout!

 wangwang……

 Dog is running

思路:

1.看题Animal是Dog的对象

2.即不能操作子类新增的成员变量,也不能调用子类新增的方法;

3.需要继承子类对象具备了子类所有的属性和功能

 

练习码云代码地址:https://gitee.com/Helen_en/code_set

学习内容 代码(行)博客(字)
类与对象、子类与继承 56   48

 

posted on 2018-10-12 23:17  nihaoya!!!  阅读(401)  评论(0编辑  收藏  举报