第二次过程性考核
码云仓库地址: https://gitee.com/ahy16012003/codes
第一题
(1)题目:
定义一个有关学生的Student类,内含类成员变量: String name、String sex、int age,所有的变量必须为私有(private)。
(2)代码:
import java.util.Scanner;
class Student{
String name,sex;
int age;
private String getName(){
return name;
}
private void setName (String name){
this.name=name;
}
private String getSex(){
return sex;
}
private void setSex(String Sex){
this sex=sex;
}
private int getAge(){
return age;
}
private void setAge(int age){
this.age=age;
}
Student (String name,String sex,int age){
this.name=name;
this sex=sex;
this.age=age;
}
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
String n,s;
int a;
n=in.next();
a=in.nextInt();
s=in.next();
Student student= new Student (n,s,a);
System.out.println("Student [name="+student.name+",sex="+student.sex+",age="+student.age+"]")
}
}
}
(3)程序设计思路:
引入java的输入函数,定义Student类,定义Student的构造方法,定义toString方法,并按格式输出“类名 [name=, sex=, age=]”,最后调用子类。
涉及知识点:子类与继承
(4)输出结果:
Student [name='tom', sex='male', age=15]
第二题
(1)题目:
请补充以下代码,完成输出要求。(注意:需要提交完整代码)
(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;
}
}
(3)程序设计思路:
先定义RR类,之后在return传出返回值的时候编写平均数式子
(4)输出结果:
3.00
第三题
(1)题目:
程序填空题。根据题目要求完善下面的代码。请提交完整代码。 一个木块如果高度比宽度大,我们说它是竖着放的,否则我们说它是平放的。 读入一个木块的高度和宽度。如果它是平放的,则输出A,否则输出B。
(2)代码:
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(){
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;
}
}
(3)涉及知识点:
方法重载,参数传值
(4)输出结果:
50 50
A
第三题
(1)题目:
程序改错题。以下代码存在错误,请修改后提交。
(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!");
}
public void run() {
}
}
class Dog extends Animal {
void shout() {
super.shout();
System.out.println("wangwang……");
}
public void run() {
System.out.println("Dog is running");
}
}
(3)涉及知识点:子类的继承
(4)输出结果:
animal shout!
wangwang……
Dog is running
另:2 3 4 题在考试的时候运用了老师新给的软件,提高了效率和准确率