7-3 设计一个学生类

发布于:2024-06-21 ⋅ 阅读:(55) ⋅ 点赞:(0)

定义一个学生类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());

    }
}

 


网站公告

今日签到

点亮在社区的每一天
去签到