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



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

现在该活动据说有一个"学生"对象。

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

不幸的是,出现了一个错误"非静态变量不能被引用"(这是我第一次收到这个错误(

此外,我有点基于这篇文章:我可以将用户输入传递给我的构造函数吗

任何帮助都将不胜感激!

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); 有问题您从静态上下文引用了此处的实例变量。。。所以它不起作用。实际上,当您从用户那里获得所有输入并根据这些输入创建新学生时,这一行必须是最后一行。

相关内容

  • 没有找到相关文章

最新更新