我似乎无法专门为这条线解决的问题.我找了它.作业是实施棒球运动员球衣号码,击球次数和步行次数的应用.必须使用20列和3行的二维数组.我正在设置线路,为球员的击球次数和结果制作随机数.然而,我得到一个无法从int转换为int []的错误.我已经阅读了几个同样问题的其他问题,似乎没有人帮助我.我可能不理解他们,但我仍然无法解决问题.谢谢你,D
import java.util.Random;
public class Stats
public static void main(String[] args)
{
int[][] array = { { 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 },
{ 10, 11, 12 },
{ 13, 14, 15 },
{ 16, 17, 18 },
{ 19, 20, 21 },
{ 22, 23, 24 },
{ 25, 26, 27 },
{ 28, 29, 30 },
{ 31, 32, 33 },
{ 34, 35, 36 },
{ 37, 38, 39 },
{ 40, 41, 42 },
{ 43, 44, 45 },
{ 46, 47, 48 },
{ 49, 50, 51 },
{ 52, 53, 54 },
{ 55, 56, 57 },
{ 58, 59, 60 } };
Random randomNumbers = new Random();
for (int row = 0; row < array.length; row++ )
{
for (int column = 0; column < array[ row ].length; column++ )
{
int counter = 0;
array[ counter ] = randomNumbers.nextInt() //Error here
System.out.print( counter + "\t " + array[ counter ] + "\t");
counter++;
}
System.out.println(" ");
}
}
}
Run Code Online (Sandbox Code Playgroud)
您需要访问这两个索引.
array[ row ][ column ] = randomNumbers.nextInt(); //Error here
Run Code Online (Sandbox Code Playgroud)
这也可以写成
int[] oneRow = array[row];
int oneCell = oneRow[column];
Run Code Online (Sandbox Code Playgroud)
如果你把int[] oneRow = array[row];你的内循环放在上面你可以用内循环替换所有array[row]内循环oneRow.
此外,counter永远是0,每当您声明它时进入内循环,您将值重置为0.
您可能想要使用计数器,但将其放在内部循环之外.
int counter = 0;
for (int column = 0; column < array[ row ].length; column++ )
{
array[ row ][ counter ] = randomNumbers.nextInt() //Error here
Run Code Online (Sandbox Code Playgroud)