Я действительно новичок в Java. Я пытаюсь принимать значения из входного файла, который я сделал в eclipse, и пытаюсь сохранить их в 2D-массиве. Вход:Java, входной файл в 2D-массив
20 -33 33 1
3 -1 46 -6
Я могу сохранить его в обычный массив тонкой, но не имеет значения, что я попробуйте, я не могу понять, как его сохранить в 2d-массив в приведенной выше форме. Я пробовал для циклов, но он сохранил все 12 чисел для каждой итерации цикла. Я пытался использовать переменные и просто увеличивал их, как для обычного массива, и просто ничего не сохранял. Любая помощь в том, как это сделать, код для регулярного массива ниже, выводит на экран следующее:
[31, 22, 23, 79, 20, -33, 33, 1, 3, -1, 46 , -6]
import java.io.*;
import java.util.Arrays;
import java.util.StringTokenizer;
public class ArrayMatrix2d {
public static void main(String[] args) {
// TODO Auto-generated method stub
if (args.length == 0){
System.err.println("Usage: java Sum <filename>");
System.exit(1);
}
try {
//int[][] matrix = new int[3][4];
int MyMat[] = new int[12];
int num = 0;
//int row = 0;
//int column = 0;
BufferedReader br = new BufferedReader(new FileReader(args[0]));
String line;
while((line = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer (line);
while (st.hasMoreTokens()){
int value1 = Integer.parseInt(st.nextToken());
MyMat[num] = value1;
num++;
}
}
System.out.println(Arrays.toString(MyMat));
br.close();
}
catch(Exception e) {}
}
}
Спасибо за помощь. Теперь я получаю следующий вывод: [[31, 22, 23, 79], null, null]. Я, наверное, сделал опечатку или что-то в этом роде, попытаюсь ее проследить, но, безусловно, идет в правильном направлении. – user2849168
Кажется, что ваша вторая и третья строки не построены. – hamon
Ага, получилось, спасибо миллион. Просто моя заявка на печать не в том месте. Спасибо! – user2849168