如何在 java 中将用户输入传递给构造函数

How to pass user input to constructor in java

所以我只是在做实际作业之前先测试一些东西。 我的目标是让用户输入 his/her 姓名、课程和学号,对吗?

现在 activity 据说有一个 "student" 对象。

现在,我想将这些用户输入传递给构造函数并显示它。

不幸的是,有一个错误"non-static variable cannot be referenced"(这是我第一次得到这个错误)

此外,我有点基于这里的 post:

如有任何帮助,我们将不胜感激!

import java.lang.*;
import java.util.Scanner;

public class Student {

int student_num;
String name, course;

public Student (String n, String c, int sn) {
    name = n;
    student_num = sn;
    course = c;
}




    public static void main (String[]args) {

    Student pupil = new Student(name, course, student_num);  

        Scanner input = new Scanner(System.in);
            System.out.println("Enter Name:");
            String name = input.nextLine();

            System.out.println("Enter Course:");
            String course = input.nextLine();

            System.out.println("Enter Student Number:");
            int student_num = input.nextInt();


            System.out.println();
            System.out.println("Name:" +name);
            System.out.println("Course:" +course);
            System.out.println("Student Number:" +student_num);



System.exit(0);   

}

}

这行有问题Student pupil = new Student(name, course, student_num); 您在此处从静态上下文中引用实例变量...因此它不起作用。 实际上,当您从用户那里获得所有输入并根据这些输入创建新学生时,这一行必须是最后一行。