我正在使用一些我通常不使用的新方法(random.nextInt()),所以非常感谢帮助。
int[][] A = new int[100][100];
private void room()
{
int xCo = random.nextInt(92);
int yCo = random.nextInt(92);
int xCoPLUS = random.nextInt(7);
int yCoPLUS = random.nextInt(7);
for(int across = xCo; across < across+xCoPLUS; across++)
{
for(int vert = yCo; vert < vert+yCoPLUS; vert++)
{
A[vert][across] = 1;
}
}
}
我在A [vert] [across] = 1行得到错误;
A [] []是100乘100。
谢谢你们!
答案 0 :(得分:1)
我认为你的意思是:
for(int across = xCo; across < xCo+xCoPLUS; across++)
{
for(int vert = yCo; vert < yCo+yCoPLUS; vert++)
{
A[vert][across] = 1;
}
}
请注意我对循环条件所做的更改,因为across < across + xCoPLUS
将始终为真,至少在您获得整数溢出之前:)
答案 1 :(得分:0)
如果across < across+xCoPLUS
和vert < vert+yCoPLUS
非零,则循环条件xCoPLUS
和yCoPlus
将始终保持为真,因此您的循环将无限循环,从而走过终点数组。