magic square java_测试Magic Square Java的.txt文件
我不想問,但我無法弄清楚這個(gè)任務(wù),當(dāng)我尋求幫助時(shí),助教也不會(huì)。
我必須從文本文件中獲取輸入,將文件中的整數(shù)輸入到數(shù)組列表中,然后測(cè)試它是否是anxn幻方。n等于數(shù)組列表長(zhǎng)度的平方根。如果不是理想的正方形,它將立即無法通過魔方測(cè)試。
無論如何我都快完成了;我似乎不明白我的教授在魔方測(cè)試的最后一步告訴/要求我們做什么。
最后這四個(gè)步驟之前的所有測(cè)試都可以正常進(jìn)行。在步驟之后,我將發(fā)布當(dāng)前代碼。
4.
假設(shè)rowSums和colSums是長(zhǎng)度為n的兩個(gè)數(shù)組,其條目均為零。另外,讓sumDiagMajor和sumDiagMinor分別代表表的左上角到右下角和右上角到左下角的條目的總和。
設(shè)索引= 0
重復(fù)直到index = n2(a)將ArrayList {index}增加rowSums [row](b)將ArrayList
{index}增加colSums [col](c)如果row = col,則將sumDiagMajor增加ArrayList
{index}。(d)如果row + col = n-1,則將sumDiagMinor增加ArrayList {index}(e)將索引增加1
如果sumDiagMajor等于sumDiagMinor以及rowSums和colSums的每個(gè)條目,則該表是一個(gè)魔方;否則,事實(shí)并非如此。
int rowSums[] = new int[_n];
int colSums[] = new int[_n];
int sumDiagMajor = 0;
int sumDiagMinor = 0;
int row, col;
row = col = 0;
for (int index = 0; index < (n*n); index++)
{
rowSums[row] = rowSums[row] + magicSquare.get(index);
colSums[col] = colSums[col] + magicSquare.get(index);
if (row == col)
{
sumDiagMajor = sumDiagMajor + magicSquare.get(index);
}
if ((row + col) == (n - 1))
{
sumDiagMinor = sumDiagMinor + magicSquare.get(index);
}
}
System.out.println(sumDiagMajor);
System.out.println(sumDiagMinor);
我的問題包括,是否可以適當(dāng)增加數(shù)組rowSums和rowCols?他從未真正說明過要處理行或列,所以將它們初始化為零是最好的選擇嗎?
如果到目前為止我所做的一切都正確,那么sumDiagMajor永遠(yuǎn)等于sumDiagMinor,因?yàn)樾袑⑹冀K等于cols,因此第二個(gè)嵌套的if語句將永遠(yuǎn)不會(huì)運(yùn)行。因此,它將排除所有測(cè)試是否是魔方?
抱歉,很長(zhǎng)的帖子,但這很令人困惑。
總結(jié)
以上是生活随笔為你收集整理的magic square java_测试Magic Square Java的.txt文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ORA-04063: view DAIL
- 下一篇: csgo客户文件与服务器,csgo与远程