第二次過程性考核
碼雲倉庫地址: 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 題在考試的時候運用了老師新給的軟件,提高了效率和準確率
第二次過程性考核