我正在尝试使用一行用户输入来填充两个不同的二维数组。一个是 String 另一个是 int

我正在为学校创建一个迷宫赛跑项目。用户决定数组的长度和宽度,然后将危险值输入到该数组中。我在一行中要求用户输入;由代表危险值的空格分隔的一堆整数。然后,用户决定从哪里开始,用 * 标记。之后,人工智能决定它周围的哪个坐标的“危险”最小,然后移动到那里,确保不会移动到它已经在的坐标中。


我正在使用 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 次。我认为这是填充两个数组,但我不知道如何解决这个问题。


慕尼黑的夜晚无繁华
浏览 111回答 1
1回答

湖上湖

希望我理解正确:在您发布的代码部分,用户只应输入“危险”值,例如:“3 2 4 5”,此时未输入“*”。如果您想将输入保存在-array 中String并另外保存到int-Array 您可以尝试这样做,使其每行只有一个用户输入:首先读为String,然后将其解析String为Integer.&nbsp; &nbsp; for (int i = 0; i < row; i++)&nbsp; &nbsp; //for loop to repeat question for how ever many rows&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; System.out.print("Enter the danger in row " + i + ", seprated by spaces: ");&nbsp; &nbsp;//what's the danger of this row&nbsp; &nbsp; &nbsp; &nbsp; for (int j = 0; j < column; j++)&nbsp; &nbsp; //for every row, column space&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mazePrint[i][j] = keyboard.next();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mazeMath[i][j] = Integer.parseInt(mazePrint[i][j]);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java