作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我只是在做实际作业之前先测试一些东西。我的目标是让用户输入他/她的姓名、类(class)和学号,对吗?
现在该 Activity 据说有一个“学生”对象。
现在,我想将这些用户输入传递给构造函数并显示它。
不幸的是,出现了一个错误“非静态变量无法被引用”(这是我第一次遇到这个错误)
另外,我的观点是基于这篇文章: Can I pass user input to my constructor
如有任何帮助,我们将不胜感激!
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 Student = new Student(name, course, Student_num);
您在此处从静态上下文引用实例变量...所以它不起作用。实际上,当您获得用户的所有输入并根据这些输入创建新学生时,这一行必须是最后一行。
关于java - 如何将用户输入传递给java中的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61212097/
我是一名优秀的程序员,十分优秀!