Когда я говорю сетка, я имею в виду многомерный массив.Я хочу этого, потому что я делаю 2D-игру и хочу загружать уровни из текстовых файлов данных.Скажем, например, у меня есть этот двумерный массив level[3][3
].Простая карта 3х3.И у меня также есть текстовый файл, который гласит:
1 2 3
4 5 6
7 8 9
В C ++, я могу просто сделать:
for (x=0; i<map_width; x++)
{
for (y=0; y<map_height; y++)
{
fscanf(nameoffile, "%d", map[x][y]);
}
}
И это поместит все содержимое текстового файла соответственно вмассив.ОДНАКО я понятия не имею, как это сделать в Java.Есть ли какой-нибудь эквивалент, который просто поместит данные в массив соответственно?Я уже знаю о классе сканера, но я не знаю, как его использовать.Я искал в Google, но безрезультатно.Это мало что объясняет.Пожалуйста помоги!В частности, я хочу знать, как сканировать файл и помещать в массив все, что он читает, в СООТВЕТСТВУЮЩЕЕ МЕСТО.
Мой текущий код таков, однако он генерирует исключение NoSuchElementException:
public void loadMap() {
Scanner sc = null;
try {
sc = new Scanner(inputmap);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
map[x][y] = sc.nextInt();
}
}
Если inputmap - это файл, map[][]
- это сетка данных для каждой плитки на карте, а ширина и высота предварительно задаются в конструкторе.