如何在 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);
您在此处从静态上下文中引用实例变量...因此它不起作用。
实际上,当您从用户那里获得所有输入并根据这些输入创建新学生时,这一行必须是最后一行。
所以我只是在做实际作业之前先测试一些东西。 我的目标是让用户输入 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);
您在此处从静态上下文中引用实例变量...因此它不起作用。
实际上,当您从用户那里获得所有输入并根据这些输入创建新学生时,这一行必须是最后一行。