第二次考核

码云链接https://gitee.com/xjw-xjw/16012017_xu_jiawei_assessment

 

第一题:学生类-构造函数(这道题考试没写出来)

 

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

 

 

代码:

import java.util.Scanner;
   class Student{
      private String name;
      private String sex;
      private int age;


         public Student(){
            this.name = "xjw";
            this.sex = "male";
            this.age = 20;
         }


   public void toString(String nn, int na, String ns){
      this.name = nn;

      this.sex = ns;

     this.age = na;
     System.out.println("Student [name='"+this.name+"', sex='"+this.sex+"', age="+this.age+"]");
   }

}


public class student{
   public static void main(String[] args){
      Scanner reader = new Scanner(System.in);
      String nn = reader.next();
      int na = reader.nextInt();
      String ns = reader.next();
     Student ww = new Student();
      ww.toString(nn,na,ns);
   }
}

考点:子类,父类,调用函数,继承,类。

程序设计思路:因为考试中没做出来,后期经过同学指点,目前思路表述如下:建一个类(student);运用子类父类;定义三个题中所需变量,依题意依次输出他们的值:name,sex,age;最后在主函数中调用上面的子类

运行结果:tom  15 male

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

 

 

第二题: 定义类

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

(题目代码略)

输入格式:在一行中给出5个不超过1000的正整数。

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

输入样例:

1 2 3 4 5

输出样例:

3.00

代码:

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;
   }

}

考点:定义类,方法构建,rutern.

程序设计思路:依题意,补全代码,根据代码,得知需补充class RR{ 补全部分};首先 ,在RR中定义那五个数a b c d e ,依题意得知需要在RR中写出五个数的平均值的式子代码并将平均值return返回到主函数。

运行结果:2 4 6 8 10

     6.00

 

第三题: 横平竖直

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

(题目代码略)

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

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

输入样例:

50 50

输出样例:

A

代码

import java.util.Scanner;
  public class hs{
    public static void main(String[] args){
      Scanner in new Scanner(System.in);
      int heightwidth;
      char status;
      height in.nextInt();
      width in.nextInt();
      Board board new Board(heightwidth);
      status board.getStatus();
      System.out.print(status);
    }
  }
  class Board{
    int heightwidth;
    public Board(int heightint width){
      this.height height;
      this.width width;
    }
    public char getStatus(){
      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;
 
    }
}

知识点:return;考验了类型char的用法。

程序设计思路:程序补全题,所以根据程序代码得知需要在最后两个部分补上横和宽的比较的值。

运行结果:50 50

     A

 

7-4 程序改错题2

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

(题目代码略)

输入样例:

输出样例:

animal shout!

wangwang……

Dog is running

代码:

public class animal {
  public static void main(String[] args{
    Animal Dog 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 animal new Dog()改成Animal Dog new Dog()

        但是这么改可能会将代码改成一段没有灵魂的代码,比较死板,因为从此以后这段代码可能只有dog.

运行结果:

     animal shout!

     wangwang……

     Dog is running

posted on 2018-10-13 01:12  徐佳韦  阅读(416)  评论(0)    收藏  举报

导航