所以在做实际作业之前,我只是先测试了一些东西。我的目标是让用户输入他/她的姓名、课程和学号,对吧?
现在该活动据说有一个"学生"对象。
现在,我想将这些用户输入传递给构造函数并显示它
不幸的是,出现了一个错误"非静态变量不能被引用"(这是我第一次收到这个错误(
此外,我有点基于这篇文章:我可以将用户输入传递给我的构造函数吗
任何帮助都将不胜感激!
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);
有问题您从静态上下文引用了此处的实例变量。。。所以它不起作用。实际上,当您从用户那里获得所有输入并根据这些输入创建新学生时,这一行必须是最后一行。