我正在为学校创建一个迷宫赛跑项目。用户决定数组的长度和宽度,然后将危险值输入到该数组中。我在一行中要求用户输入;由代表危险值的空格分隔的一堆整数。然后,用户决定从哪里开始,用 * 标记。之后,人工智能决定它周围的哪个坐标的“危险”最小,然后移动到那里,确保不会移动到它已经在的坐标中。我正在使用 for 循环来填充两个二维数组。一个是 aString[][]另一个是int[][]。这样做的原因是我使用String[][]来打印,因为我必须将ints之一更改为 * 以标记用户位置。我使用的是int[][]做数学题,因为我可以用比较(<,>,等)来决定在哪里移动。我无法让for循环只使用用户输入一次。用户必须两次输入他们的首选危险值才能继续执行代码。有什么建议吗? for(int i = 0; i < row; i++) //for loop to repeat question for how ever many rows { System.out.print("Enter the danger in row " + i + ", seprated by spaces: " ); //what's the danger of this row for(int j = 0; j < column; j ++) //for every row, column space { mazeMath[i][j] = keyboard.nextInt(); mazePrint[i][j]=keyboard.next(); } }例如:如果用户决定数组中有 7 列;然后用户必须输入他们喜欢的危险值两次,每次 7 次。我认为这是填充两个数组,但我不知道如何解决这个问题。
1 回答
湖上湖
TA贡献2003条经验 获得超2个赞
希望我理解正确:在您发布的代码部分,用户只应输入“危险”值,例如:“3 2 4 5”,此时未输入“*”。
如果您想将输入保存在-array 中String并另外保存到int-Array 您可以尝试这样做,使其每行只有一个用户输入:
首先读为String,然后将其解析String为Integer.
for (int i = 0; i < row; i++) //for loop to repeat question for how ever many rows
{
System.out.print("Enter the danger in row " + i + ", seprated by spaces: "); //what's the danger of this row
for (int j = 0; j < column; j++) //for every row, column space
{
mazePrint[i][j] = keyboard.next();
mazeMath[i][j] = Integer.parseInt(mazePrint[i][j]);
}
}
添加回答
举报
0/150
提交
取消