我有一个正在尝试完成的实践Java代码。显而易见的问题是,当我试图打印array[1][2]时,它会返回null,所以我认为数组可能是空的。如何将用户输入放入数组中?
import java.util.Scanner;
public class Studyone {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int row = 13;
int col = 25;
String sentence;
String sentence2;
String [][] map = new String[row][col];
for (int i = 0; i < map.length; i++)
{
for (int j = 0;i < map.length; i++)
{
System.out.println("Enter the element");
sentence2 = input.nextLine();
map[i][j]=sentence2;
if (row>col)
{
break;
}
}
}
System.out.println(map[1][2]);
}
}发布于 2014-09-23 06:29:46
这应该会有帮助,我认为:
for (int i = 0; i < map.length; i++)
{
for (int j = 0;j < map[i].length; j++)
{
System.out.println("Enter the element");
sentence2 = input.nextLine();
map[i][j]=sentence2;
}
}发布于 2014-09-23 06:27:01
变化
for (int j = 0;i < map.length; i++) 至
for (int j = 0;j < map[0].length; j++) 例如,,假设x = new int[3][4]、x[0]、x[1]和x[2]是一维数组,每个数组都包含四个元素,如图x.length is 3所示,x[0].length、x[1].length和x[2].length都是4。

发布于 2014-09-23 06:30:20
i的条件,而不是内部循环中的j。map[i].length条件所以你的内环应该是
for (int j = 0; j < map[i].length; j++)
^1 ^2 ^3首先,i将增加两次,对于col,您必须考虑一维数组,但您正在考虑map,这可能导致ArrayIndexOutOfBoundException。
在这里,map[i][j]=sentence2; j将保持零。
我改变了它,但输入一直不停地进行。
因为您有13行和25列,所以插入所有values.So需要时间,只需更改(缩小)数组大小并尝试。
https://stackoverflow.com/questions/25988246
复制相似问题