我正在尝试创造生命游戏,但在早期遇到了困难。 :(
我有一个带有“o”和“*”作为起始网格/矩阵的文本文件,我的构造函数必须读取该文件并用它填充2D数组。
问题是我有一个错误,它说“sc.nextLine();”,我不太确定我缺少什么来填充数组。
import java.io.File;
import java.util.ArrayList;
import java.util.Scanner;
public class LifeGrid {
int x, y;
public LifeGrid(int newy, int newx, String filename) {
x = newx;
y = newy;
File file = new File(filename);
Scanner sc = new Scanner(file);
int[][] board = new int[y][x];
while (sc.hasNext())
{
for (int i = 0; i < y; i++)
{
for (int j = 0; j < x; j++)
{
board[i][j] = sc.nextLine(); <- error here
}
}
}
}
答案 0 :(得分:0)
最简单的解决方案:
for (int i = 0; i < y; i++)
{
String line = sc.nextLine();
for (int j = 0; j < x; j++)
{
board[i][j] = line.charAt(j)=='*'?1:0;
}
}