定义一个学生类Student,有姓名(name)、成绩(score)两个私有属性,提供一个无参数的构造方法、一个带参数的构造方法,以及四个公有方法getName()、setName()、getScore()、setScore ()分别用于获取和设置姓名、成绩属性。
在测试类Main中,先使用学生类的无参数的构造方法创建一个学生类对象stu1,然后接收键盘上输入的数据,分别作为setName( )和setScore( )的参数,从而当作学生stu1的姓名和成绩;再使用学生类的带参数的构造方法创建一个学生类对象stu2,接收键盘上输入的数据作为构造方法的两个参数,从而当作学生stu2的姓名和成绩。
输入格式:
第一行输入一个姓名(例如:张三)、成绩(例如:85.5),分别作为setName( )和setScore( )的参数,从而当作学生stu1的姓名和成绩。
第二行再输入一个姓名(例如:李四)、成绩(例如:92),作为构造方法的两个参数,从而当作学生stu2的姓名和成绩。
具体格式请看输入样例。
输出格式:
通过调用stu1和stu2的getName( )、getScore( )方法,获取到学生对象的姓名和成绩,并将其输出。
具体格式请看输出样例。
输入样例:
在这里给出一组输入,每一行中间用英文空格来间隔。例如:
张三 85.5
李四 92
输出样例:
在这里给出相应的输出,除了姓名可能为中文,其他均为英文格式。例如:
stu1: name=张三,score=85.5
stu2: name=李四,score=92.0
题解图下
import java.util.Scanner;
// 定义学生类 Student
class Student {
private String name;
private double score;
public Student() {
}
public Student(String name, double score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public void show()
{
System.out.println("stu1: name="+this.name+",score="+this.score);
}
}
class Student2 {
private String name;
private double score;
public Student2() {
}
public Student2(String name, double score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public void show()
{
System.out.println("stu2: name="+this.name+",score="+this.score);
}
}
// 测试类 Main
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 使用无参数的构造方法创建 stu1 对象
Student stu1 = new Student();
// // 接收键盘输入的数据作为 stu1 的姓名和成绩
String input1 = scanner.nextLine();
String[] parts1 = input1.split(" ");
stu1.setName(parts1[0]);
stu1.setScore(Double.valueOf(parts1[1])); // 使用 Double.valueOf
// 使用带参数的构造方法创建 stu2 对象
String input2 = scanner.nextLine();
String[] parts2 = input2.split(" ");
Student stu2 = new Student(parts2[0], Double.valueOf(parts2[1])); // 使用 Double.valueOf
// // 输出 stu1 和 stu2 的姓名和成绩
System.out.printf("stu1: name=%s,score=%.1f%n", stu1.getName(), stu1.getScore());
System.out.printf("stu2: name=%s,score=%.1f%n", stu2.getName(), stu2.getScore());
}
}