我正在学习Java。我编写了以下代码,但是当我尝试输入时,我在Arrayfunction()中收到此错误“无法对非静态输入字段进行静态引用”。为什么会这样,我该如何解决?
import java.util.*; public class MultidimArrays { Scanner input= new Scanner(System.in); public static void main(String args[]) { int array[][]= new int[2][3]; System.out.println("Passing array to a function"); Arrayfunction(array); } public static void Arrayfunction(int array[][]) { System.out.println("Inside Array function"); for(int i=0;i<array.length;i++) { for(int j=0;j<array[i].length;j++) { System.out.println("Enter a number"); array[i][j]=input.nextInt();// error } }
}
扫描仪未定义为静态,因此在错误的范围内
在内部创建Scanner实例, Arrayfunction或使用以下方法创建扫描仪
Arrayfunction
private static Scanner input= new Scanner(System.in);