每次我尝试执行包含 .nextInt()
的代码行时,都会收到此错误:“无法对非静态字段进行静态引用” .
以下是可能影响的代码行(我能想到的):
private Scanner input = new Scanner(System.in);
int priceLocation = input.nextInt();
最佳答案
这很可能是因为您尝试在静态方法中访问 input
,我假设它是 main()
方法。像这样的事情
private Scanner input = new Scanner(System.in);
public static void main(String[] args) {
int priceLocation = input.nextInt(); // This is not allowed as input is not static
您需要将您的输入
设置为static
,或者将其移动到static
内(main )方法。
解决方案1:将输入
设为静态
。
private static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
int priceLocation = input.nextInt();
解决方案2:将input
移动到main内部(请注意,如果input
移动到内部,则不能在任何其他方法中使用input
main()
,因为它是本地的)。
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int priceLocation = input.nextInt();
关于java - 使用 .nextInt() 时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19947636/