java类与对象练习题

类和对象的使用
分数 10
1.创建一个类Student,具体属性和方法如下:
属性:(全部私有,数据类型自己选择使用)
姓名(name),性别(sex),学号(studentID),年龄(age),专业(major)
方法:
(1)定义一个空参数构造器public Student();
(2)定义一个多参数的构造器,用于为所有属性赋值public Student(String name,String sex,String studentID,int age,String major)
(3)由于所有属性私有的,为所有属性提供getter()和setter()方法;
(4)public String toString()用于返回学生的所有属性信息;
(5)public void printInfo()用于打印学生的信息
2.定义一个测试类Test,在main方法中创建一个Student对象,根据提示输入学生信息保存在对象中,调用printInfo()方法输出学生信息。
3.输出结果参考“输出样例”

输入格式:
请在这里写输入格式。例如:输入在一行中给出2个绝对值不超过1000的整数A和B。

输出格式:
姓名:Tom,性别:23,学号:20221201234,年龄:23,专业:计算机科学

输入样例:
在这里给出一组输入。例如:

张三

23
计算机科学
2022120
输出样例:
在这里给出相应的输出。例如:

姓名:张三,性别:男,学号:2022120,年龄:23,专业:计算机科学
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

问题1:

public class Student {
    private String name;
    private String sex;
    private String studentID;
    private int age;
    private String major;

    // 空参数构造器
    public Student() {}

    // 多参数构造器
    public Student(String name, String sex, String studentID, int age, String major) {
        this.name = name;
        this.sex = sex;
        this.studentID = studentID;
        this.age = age;
        this.major = major;
    }

    // getter 和 setter 方法
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getStudentID() {
        return studentID;
    }

    public void setStudentID(String studentID) {
        this.studentID = studentID;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    // toString 方法,返回学生所有属性信息
    @Override
    public String toString() {
        return "Student [name=" + name + ", sex=" + sex + ", studentID=" 
            + studentID + ", age=" + age + ", major=" + major + "]";
    }
    
    // printInfo 方法,打印学生信息
    public void printInfo() {
        System.out.println("姓名:" + name);
        System.out.println("性别:" + sex);
        System.out.println("学号:" + studentID);
        System.out.println("年龄:" + age);
        System.out.println("专业:" + major);
    }
}

问题2:

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("请输入学生姓名:");
        String name = input.nextLine();

        System.out.print("请输入学生性别:");
        String sex = input.nextLine();

        System.out.print("请输入学生学号:");
        String studentID = input.nextLine();

        System.out.print("请输入学生年龄:");
        int age = input.nextInt();
        input.nextLine(); // 处理nextInt()方法遗留的换行符

        System.out.print("请输入学生专业:");
        String major = input.nextLine();

        Student student = new Student(name, sex, studentID, age, major);
        student.printInfo();
    }
}