【发布时间】:2017-03-16 02:26:27
【问题描述】:
我应该制作一个程序来测试用户输入的矩阵是一个魔方。基本上我应该将用户输入放入 ArrayList 中,然后将其放入 2D 数组中,然后可以使用该数组来计算行、col 和对角线的总和,以查看它们是否具有相同的总和。这就是我到目前为止所拥有的。我无法让 ArrayList 创建一个二维数组。
import java.util.*;
class Square
{
private int[][] square;
private ArrayList<Integer> numbers;
public int numInput;
public Square()
{
numbers = new ArrayList<Integer>();
int[][] square;
numInput = 0;
}
public void add(int i)
{
numbers.add(i);
}
}
public boolean isSquare()
{
numInput = numbers.size();
double squared = Math.sqrt(numInput);
if (squared != (int)squared)
{
System.out.println("Numbers make a square");
return true;
}
else
{
System.out.println("Numbers do not make a square");
return false;
}
}
public String isMagicSquare()
{
for (int row=0; row<numInput; row++)
{
for (int col=0; col<numInput; col++)
{
square[row][col] = number.get(col +( number.size() * row));
}
}
}
}
【问题讨论】:
-
int[][] square;声明一个新数组。我不认为那是你想要的。需要在构造函数中初始化this.square。 -
你遇到什么问题?
-
如果您不需要
int[][],那么我在this post 上回复了List -
凯特琳,我很乐意满足您的期望。请你回复我的回答,告诉我好不好?
标签: java arrays arraylist multidimensional-array magic-square