Java 扫描仪输入问题
如何从扫描仪接收用户的输入,然后将该输入放入2D数组中。这就是我所拥有的,但我认为这是不对的:Java 扫描仪输入问题,java,input,magic-square,Java,Input,Magic Square,如何从扫描仪接收用户的输入,然后将该输入放入2D数组中。这就是我所拥有的,但我认为这是不对的: public static void main(String[] args) { Scanner in = new Scanner(System.in); int [][] a = new int[row][col]; Scanner in = new Scanner(System.in); System.out.println("Enter a sequence o
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int [][] a = new int[row][col];
Scanner in = new Scanner(System.in);
System.out.println("Enter a sequence of integers: ");
while (in.hasNextInt())
{
int a[][] = in.nextInt();
a [row][col] = temp;
temp = scan.nextInt();
}
Square.check(temp);
}
我想做的是创建一个2D数组,然后创建一个幻方。我已经解决了布尔部分,我只需要帮助将用户的数字序列输入到数组中,这样布尔方法就可以测试数字。非常感谢所有的帮助我不相信你的代码能按你所希望的方式工作。如果我正确理解了你的问题,我会这样做:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int [][] a = new int[row][col];
for(int i = 0; i < row; i++) {
for(int j = 0; j < col; j++) {
System.out.print("Enter integer for row " + i + " col " + j + ": ");
a[i][j] = in.nextInt();
}
}
// Create your square here with the array
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int[][]a=新的int[行][col];
对于(int i=0;i|
在循环中,
i
是当前行号,j
是当前列号。它将要求用户输入每一行/列组合。您可以使用它同时输入所有数字:
int [][] a = new int[3][3];
Scanner in = new Scanner(System.in);
System.out.println("Enter a sequence of integers: ");
int row=0,col=0;
while (in.hasNextInt())
{
a [row][col++] = in.nextInt();
if(col>=3){
col=0;
row++;
}
if(row>=3)break;
}
然后您可以输入:
123456789
填充数组。首先需要查看行和列变量。您永远不会增加它们,因此所有内容都将放在同一位置的数组中。例如,如果平方为3x3,则前三个输入将进入[0][0]、[0][1]和[0][2],因此需要增加col变量。错误行为5。您正在第二次创建扫描仪。在第10行中,您使用的是未创建的变量。在第9行,你像在php中一样向数组添加值,但这里你没有指定数组长度和索引…你仍然需要声明和初始化行和列。@Austin Heerwagen我试图做的是要求用户输入n^2个值,以检查他们输入的是否是幻方。我不相信你是6号线要求的?除非我不理解代码,否则我对java非常陌生。但这不会使它变成3x3吗?为了给你一个易懂的例子,我已经使用了静态值。您可以按所需尺寸替换3个。如果您不知道用户将插入的数组的大小,请首先在控制台中使用以下命令询问他们:
console c=new console();inttabsize=Integer.parseInt(c.readLine(“数组大小:”)代码>初始化数组时是否可以放置行和列:“int[]a=new int[3][3];”设置row和col=0,然后当用户输入一个数字时,它变为nxn。我不确定是否理解您的问题。。。如果在上述注释中使用我的代码,则可以使用int[]]a=newint[tabSize][tabSize]
初始化数组。当我使用introw=0,col=0代码>我只是初始化新的临时变量来填充数组,将整数放在正确的索引中。它说构造函数控制台不可见