题目:
【问题描述】
定义Student类,包含三个私有属性:name、id、score,根据输出结果,填写程序的空白处。
构造方法中,如果输入的分数不在0~100之间,则对score属性赋值为0。
在对score属性赋值的set方法中,如果给的值不在0~100之间,则给出错误信息,并且不对score进行修改。
【输入形式】
从键盘输入姓名、学号、成绩。
【输出形式】
输出学生的相关信息。
【样例输入①】
zhangsan
201801001
80
【样例输出①】
name=zhangsan,id=201801001,score=80
score input error
name=zhangsan,id=201801001,score=80
【样例输入②】
lisi
201801002
40
【样例输出②】
name=lisi,id=201801002,score=40
name=lisi,id=201801002,score=90
【样例输入③】
def
201801005
-10
【样例输出③】
name=def,id=201801005,score=0
name=def,id=201801005,score=40
代码:
import java.util.Scanner;
public class Student {
private String name, id;
private int score;
Student(){
}
Student(String name,String id,int score){
this.name=name;
this.id=id;
this.score=score;
if(score<0||score>100) {
this.score=0;
}
}
void setScore(int score) {
if(score<0||score>100) {
System.out.println("score input error");
}
}
public String toString() {
return "name="+this.name+",id="+this.id+",score="+this.score;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String n, s;
int sc;
n = in.nextLine();
s = in.nextLine();
sc = in.nextInt();
Student stu = new Student(n, s, sc);
System.out.println(stu);
stu.setScore(sc + 50);
System.out.println(stu);
}
}