gpt4 book ai didi

java - 魔方Java程序

转载 作者:行者123 更新时间:2023-12-01 19:14:13 25 4
gpt4 key购买 nike

//凯文·克莱门特//Week3A 魔方

大家好,正在对二维数组进行介绍性赋值。下面是我已经完成的代码,已经基本完成了。

我遇到的问题是我不完全确定如何打印出数组,以及如何使用测试方法让一切正常运行。我在 msq[order][order] = 1; 行收到越界错误;

如果我的问题格式错误,我很抱歉,仍然不习惯这个网站。任何帮助都会很棒。谢谢!

import java.util.*;

class Magic
{
private int order;
int msq[ ][ ];

public Magic(int size)
{
if(size < 1 || size % 2 == 0)
{
System.out.print("Order out of range");
order = 3;
}
msq = new int[order][order];
Build();
Display();
}

public void Build()
{
int row = 0;
int col =0;
msq[order][order] = 1;

for(int k = 1; k <= order * order; k++)
{
msq[row][col] = k;

if(row == 0 && col == order -1)
row++;
else if(row == 0)
{
row = order - 1;
col++;
}
else if(msq[row - 1][col + 1] != 0)
row++;
else if(msq[row -1][col + 1] == 0)
{
row--;
col++;
}
if(col == order - 1)
{
col = 0;
row--;
}

}
}
public void Display()
{

for(int i = 0; i < order; i++)
{
for(int k = 0; k < order; k++)
{
System.out.println(msq[i][k] + " ");
}
}


}
}

最佳答案

I get an error out of bounds at the line msq[order][order] = 1;

msq = new int[order][order];
// ..
msq[order][order] = 1;

如果数组大小为n,则需要访问从0n-1的元素。没有第 n 个索引。在您的情况下,没有订单订单索引。它只是从0order-1,并且是数组索引越界异常的原因。

关于java - 魔方Java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7425604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com