Чтение из файла в массив
Категория: Java
2012-03-11 16:29:37
3 2 2 3 1 0 0 1 -1 1 2 1 0 1 0 3
Первая цифра означает количество строк первой матрицы, вторая- количество столбцов, третья кол-во строк воторой, четвертая - кол-во столбцов. Между цифрами " " - пробелы, между матрицами - пустые строчки
code: #java
try { int aWidth, aHeight, bWidth, bHeight; int[][] ma; int[][] mb; BufferedReader buf = new BufferedReader(new FileReader("matrix.txt")); String[] tok = buf.readLine().split("\\s+"); aHeight = Integer.parseInt(tok[0]); aWidth = Integer.parseInt(tok[1]); bHeight = Integer.parseInt(tok[2]); bWidth = Integer.parseInt(tok[3]); ma = new int[aHeight][aWidth]; mb = new int[bHeight][bWidth]; String str = ""; int cnt = 0, row = 0; while(buf.ready()) { str = buf.readLine(); if(str.length() > 2) { tok = str.split("\\s+"); for(int c = 0; c < aWidth && cnt == 1; c++) ma[row][c] = Integer.parseInt(tok[c]); for(int c = 0; c < bWidth && cnt == 2; c++) mb[row][c] = Integer.parseInt(tok[c]); row++; } else { cnt++; row = 0; } } buf.close(); // ... здесь умножение матриц выполнить } catch(IOException err) { err.printStackTrace(); }
автор: xAtom
Поделиться: