powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему у меня не выводит в txt файл
25 сообщений из 114, страница 4 из 5
Почему у меня не выводит в txt файл
    #39685809
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nastyaaValentin Kolesnikov,

Извините( мне сказали если я создам матрицу миллион на миллион то у меня памяти не хватит(
Я читала в книге что BufferedInputStream можно использовать, типа чтобы памяти хватило у компа.
Сказали здесь проблема, если я создам матрицу миллион на миллион то памяти не хватит.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
ry(FileReader reader = new FileReader(filename)) {
            String strFromFile = "";

            
            while (reader.ready()) {
                strFromFile += (char) reader.read();
            }

            String[] arr = strFromFile.split(" |\n");
            Matrix result = new Matrix1D(Integer.valueOf(arr[0]), Integer.valueOf(arr[1]));



Не подскажите как можно поменять(

Можно улучшить чтение файла. Пример:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
try(BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
    StringBuilder sb = new StringBuilder();
    String line = br.readLine();

    while (line != null) {
        sb.append(line);
        sb.append(System.lineSeparator());
        line = br.readLine();
    }
    String everything = sb.toString();
}



С уважением, Валентин
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685816
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,
Я правильно сделала? там ошибки

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
  public static void writeMatrixToFile(Matrix m, String filename) {

        try(FileWriter writer = new FileWriter(filename, false)){
            String strForWrite = "";
            
            writer.write(String.valueOf(m.getRowCount()));
            writer.write("\n");
            writer.write(String.valueOf(m.getColCount()));
            writer.write("\n");

            for (int i = 1; i <= m.getRowCount(); i++){
                for (int j = 1; j <= m.getColCount(); j++){
                    
                    strForWrite += m.get(i,j) + " ";
                }
                strForWrite += "\n";
            }

            writer.write(strForWrite);
            writer.flush();
        } catch (IOException e) {
            e.printStackTrace();
        } catch(MatrixIndexException e) {
             e.printStackTrace();
        }
    }

    public static Matrix loadMatrixFromFile(String filename) {

        try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();

            while (line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = br.readLine();
            }
            String everything = sb.toString();
        }

            int row = 1;
            int col = 1;

            for (int i = 2; i < arr.length; i++){
                if (!arr[i].equals("")){
                    result.put(row, col, Integer.valueOf(arr[i]));
                    col++;
                    if (col == result.getColCount() + 1){
                        col = 1;
                        row++;
                    }
                }
            }

            return result;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685817
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,

Ваш код постепенно считает числа?
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685830
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nastyaaВаш код постепенно считает числа?"Сначала я медленно посчитаю числа" - по мотивам Терминатор-раз.
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685831
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

Не подскажите как использовать в этом коде DataInputStream
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685832
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nastyaaValentin Kolesnikov,

Ваш код постепенно считает числа?

LargeIntegerMatrix.java использует отображение файлов в память и прямой доступ по индексу.

С уважением, Валентин
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685833
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nastyaaBasil A. Sidorov,

Не подскажите как использовать в этом коде DataInputStream

Нашёл статью с примерами DataInputStream.

https://metanit.com/java/tutorial/6.7.php

С уважением, Валентин
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685834
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,

извините пожалуйста, как через DataInputStream сделать( мне сказали что этот код не подходит((
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685836
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,

я с утра пыталась написать DataInpitStream(но ошиьку выводило) потом ваш код показала мне сказали что надо все же DataInputStream((
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685904
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валентин, трудись, на четверку выходишь!
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685913
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,

Кстати как можно сделать так, чтобы по отдельности значения в выходили из файла в программу
типа матрица 3 на 3
компилятор выводил -
22
34
53
23
14
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685932
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nastyaaValentin Kolesnikov,

Кстати как можно сделать так, чтобы по отдельности значения в выходили из файла в программу
типа матрица 3 на 3
компилятор выводил -
22
34
53
23
14

Для ввода данных с клавиатуры можно вызвать метод MatrixUtils.fillByKeyboard():

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
    public static Matrix fillByKeyboard() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter The Number Of Matrix Rows:");
        int rowCount = scan.nextInt();
        System.out.println("Enter The Number Of Matrix Columns:");
        int colCount = scan.nextInt();
        try {
            Matrix m = new Matrix1D(rowCount, colCount);
            System.out.println("Enter Matrix Data:");
            for (int i = 1; i <= rowCount; i++) {
                for (int j = 1; j <= colCount; j++) {
                    int value = scan.nextInt();
                     m.put(i, j, value);
                }
            }
            return m;

        } catch (MatrixIndexException ex) {
            System.err.println(ex.getMessage());

        }
        return null;

    }



С уважением, Валентин
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685933
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,

Извините вы не так поняли) чтобы рандомно выводило сейчас метод loadMatrixFromFile выводит матрицу вот так-
Код: java
1.
2.
3.
4.
5.
3
3
19 20 37 
29 48 32 
38 17 31



А нужно вот так(-
19
20
37
29
48
32
48
32
38
17
31

Чтобы считал каждый элемент((
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685935
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может я туплю, но все классы InputStream / OutputStream'ы это бинарный ввод вывод (для двоичных файлов).
Для тектовых файлов - Reader / Writer.
Я бы для данной задаче посмотрел на:
LineNumberReader - читать файл построчно, а дальше split'ом разбирал каждую строчку. В общем, попросили оптимизировать по памяти, Вы чуть-чуть оптимизировали (для Вашего уровня IMHO вполне достаточно)
StreamTokenizer - наверное это высший пилотаж ))), но сам я никогда им не пользовался (всегда сам токены разбирал через самодельный конечный автомат)

В общем, Вам что-то странное советуют и требуют. Хорошо бы постановка задания дословна. Вполне вероятно, от Вас ожидают решения "как расказывали на лекциях". Но тут только спрашивать у одногрупников, что же было на лекциях )))
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685937
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну или класс Scanner
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685939
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

Мне самой дали задание, чтобы он в каждый элемент считал и чтобы памяти хватило.
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685942
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скопировать метод Валентина fillByKeyboard

Заменить System.in на входной файл (new FileReader("file.txt")), добавить в конце close(), убрать все System.out.println

Метод разработки "копи-пастный говнокодинг" - рулит!
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685948
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

Можно использовать FileInputStream?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public static Matrix loadMatrixFromFile(String filename) throws FileNotFoundException, IOException {

        try{
            

            FileInputStream fs = new FileInputStream(filename);
            
            Scanner input = new Scanner(fs);

            int colCount = input.nextInt();
            int rowCount = input.nextInt();
            
            
                }
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685952
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nastyaaValentin Kolesnikov,

Извините вы не так поняли) чтобы рандомно выводило сейчас метод loadMatrixFromFile выводит матрицу вот так-
Код: java
1.
2.
3.
4.
5.
3
3
19 20 37 
29 48 32 
38 17 31



А нужно вот так(-
19
20
37
29
48
32
48
32
38
17
31

Чтобы считал каждый элемент((

Вот такие исправления нужны:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
diff --git a/src/main/java/matrix/Main.java b/src/main/java/matrix/Main.java
index 9a5e584..213b4af 100644
--- a/src/main/java/matrix/Main.java
+++ b/src/main/java/matrix/Main.java
@@ -6,17 +6,17 @@ import java.util.List;
 public class Main {
 
     public static void main(String[] args) throws MatrixIndexException, java.io.IOException {
-        Matrix m1 = new LargeIntegerMatrix("data1.txt", 100, 100);
-        Matrix m2 = new LargeIntegerMatrix("data2.txt", 100, 100);
+        Matrix m1 = new LargeIntegerMatrix("data1.txt", 3, 3);
+        Matrix m2 = new LargeIntegerMatrix("data2.txt", 3, 3);
         
         MatrixUtils.fillByRandom(m1);
         MatrixUtils.fillByRandom(m2);
         
         Matrix m = MatrixUtils.matrixMultiple(m1, m2);
         
-        System.out.println(m.toString());
+        System.out.println(m.toStringOneColumn());
         MatrixUtils.writeMatrixToFile(m, "file.txt");
         Matrix m3 = MatrixUtils.loadMatrixFromFile("file.txt");
-        System.out.println(m3.toString());
+        System.out.println(m3.toStringOneColumn());
     }
 }
diff --git a/src/main/java/matrix/Matrix.java b/src/main/java/matrix/Matrix.java
index 30de28a..4079adb 100644
--- a/src/main/java/matrix/Matrix.java
+++ b/src/main/java/matrix/Matrix.java
@@ -11,7 +11,7 @@ public abstract class Matrix {
     public abstract int getColCount();
     
     @Override
-    public String toString() {    
+    public String toString() {
         StringBuilder out = new StringBuilder();
         out.append("Matrix:\n[ ");
 
@@ -22,7 +22,7 @@ public abstract class Matrix {
             }
             for (int j = 0; j < getColCount(); j++) {
                 try {
-                    out.append(get(i, j));
+                    out.append(get(i + 1, j + 1));
                     if (j != getColCount() - 1) {
                         out.append(" ");
                     }
@@ -39,6 +39,24 @@ public abstract class Matrix {
         return out.toString();
     }   
 
+    public String toStringOneColumn() {
+        StringBuilder out = new StringBuilder();
+        out.append("Matrix:\n[ \n");
+
+        for (int i = 0; i < getRowCount(); i++) {
+            for (int j = 0; j < getColCount(); j++) {
+                try {
+                    out.append(get(i + 1, j + 1));
+                    out.append("\n");
+                } catch (MatrixIndexException e) {
+                }
+            }
+        }
+        out.append("]");
+        return out.toString();
+    }
+
     @Override
     public boolean equals(Object obj) {
         Matrix m = (Matrix) obj;



С уважением, Валентин
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685953
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,
правильно пишу код?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 public static Matrix loadMatrixFromFile(String filename) throws FileNotFoundException, IOException {

        try{
            

            FileInputStream fs = new FileInputStream(filename);
            
            Scanner input = new Scanner(fs);

            int colCount = input.nextInt();
            int rowCount = input.nextInt();
            
            Matrix m = new ..
            
            for(int i = 1; i < m.getColCount(); i++)
                for(int i = 1; i < m.getRowCount(); i++){
                    int value = input.nextInt();
                    m.put();
                }
            
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685955
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nastyaa,
Можете пожалуйста подправить код, я по всякому пишу ошибку выводит((

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
public static Matrix loadMatrixFromFile(String filename) throws FileNotFoundException, IOException {

        try{
            

            FileInputStream fs = new FileInputStream(filename);
            
            Scanner input = new Scanner(fs);

            int colCount = input.nextInt();
            int rowCount = input.nextInt();
            
            Matrix m = new 
            
            for(int i = 1; i < m.getColCount(); i++)
                for(int i = 1; i < m.getRowCount(); i++){
                    int value = input.nextInt();
                    m.put();
                }
            
            
            
    }
}
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685976
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nastyaanastyaa,
Можете пожалуйста подправить код, я по всякому пишу ошибку выводит((

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
public static Matrix loadMatrixFromFile(String filename) throws FileNotFoundException, IOException {

        try{
            

            FileInputStream fs = new FileInputStream(filename);
            
            Scanner input = new Scanner(fs);

            int colCount = input.nextInt();
            int rowCount = input.nextInt();
            
            Matrix m = new 
            
            for(int i = 1; i < m.getColCount(); i++)
                for(int i = 1; i < m.getRowCount(); i++){
                    int value = input.nextInt();
                    m.put();
                }
            
            
            
    }
}



Вот такое решение:

MatrixUtils.java:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
package matrix;

import java.util.Random;
import java.util.Scanner;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class MatrixUtils {

    public static void fillByRandom(Matrix m) {
        int rowCount = m.getRowCount();
        int colCount = m.getColCount();
        Random random = new Random();

        for (int i = 1; i <= rowCount; i++) {

            for (int j = 1; j <= colCount; j++) {
                try {
                    m.put(i, j, random.nextInt(50));
                } catch (MatrixIndexException e) {
                    System.err.println(e.getMessage());

                }

            }
        }
    }

    public static void fillByNumber(Matrix m, int number) {
        int rowCount = m.getRowCount();
        int colCount = m.getColCount();

        for (int i = 1; i <= colCount; i++) {

            for (int j = 1; j <= rowCount; j++) {
                try {
                    m.put(i, j, number);

                } catch (MatrixIndexException e) {
                    System.err.println(e.getMessage());

                }

            }
        }

    }

    public static Matrix fillByKeyboard() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter The Number Of Matrix Rows:");
        int rowCount = scan.nextInt();
        System.out.println("Enter The Number Of Matrix Columns:");
        int colCount = scan.nextInt();
        try {
            Matrix m = new Matrix1D(rowCount, colCount);
            System.out.println("Enter Matrix Data:");
            for (int i = 1; i <= rowCount; i++) {
                for (int j = 1; j <= colCount; j++) {
                    int value = scan.nextInt();
                     m.put(i, j, value);
                }
            }
            return m;

        } catch (MatrixIndexException ex) {
            System.err.println(ex.getMessage());

        }
        return null;

    }
    
    public static Matrix matrixMultiple(Matrix a, Matrix b) throws MatrixIndexException {
       
        int aRows = a.getRowCount();
        int aColumns = a.getColCount();
        int bRows = b.getRowCount();
        int bColumns = b.getColCount();

        if (aColumns != bRows) {
            throw new IllegalArgumentException("A:Rows: " + aColumns + " did not match B:Columns " + bRows + ".");
        }

        Matrix c = new Matrix1D(aRows, bColumns);
        for (int i = 0; i < aRows; i++) {
            for (int j = 0; j < bColumns; j++) {
                c.put(i+1,j+1,0);
            }
        }

        for (int i = 0; i < aRows; i++) { // aRow
            for (int j = 0; j < bColumns; j++) { // bColumn
                for (int k = 0; k < aColumns; k++) { // aColumn
                    c.put(i+1,j+1,c.get(i+1,j+1) + a.get(i+1, k+1) * b.get(k+1, j+1));
                }
            }
        }

        return c;   
    }

    public static void writeMatrixToFile(Matrix m, String filename) {

        try (FileOutputStream fileOutputStream = new FileOutputStream(filename);
            DataOutputStream dataOutputStream = new DataOutputStream(fileOutputStream)) {
            dataOutputStream.writeInt(m.getRowCount());
            dataOutputStream.writeInt(m.getColCount());
            for (int i = 1; i <= m.getRowCount(); i++){
                for (int j = 1; j <= m.getColCount(); j++){
                    dataOutputStream.writeInt(m.get(i, j));
                }
            }
            dataOutputStream.flush();
        } catch (IOException e) {
            e.printStackTrace();
        } catch(MatrixIndexException e) {
             e.printStackTrace();
        }
    }

    public static Matrix loadMatrixFromFile(String filename) {

        try (FileInputStream fileInputStream = new FileInputStream(filename);
            BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
            DataInputStream dataInputStream = new DataInputStream(bufferedInputStream)) {
            int rowCount = dataInputStream.readInt();
            int colCount = dataInputStream.readInt();
            Matrix result = new Matrix1D(rowCount, colCount);
            int row = 1;
            int col = 1;
            for (int i = 0; i < rowCount * colCount; i++){
                result.put(row, col, dataInputStream.readInt());
                col++;
                if (col == result.getColCount() + 1){
                    col = 1;
                    row++;
                }
            }
            return result;
        } catch (MatrixIndexException | IOException ex) {
            throw new RuntimeException(ex);
        }
    }
}



С уважением, Валентин
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685977
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,

Спасибо вам))) можете посмотреть после вас я оставил код , сможете подправить, я пыталась всячески сама написать но не получалось
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685981
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,

как ваш код через main выводить))
...
Рейтинг: 0 / 0
Почему у меня не выводит в txt файл
    #39685983
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nastyaaValentin Kolesnikov,

как ваш код через main выводить))

Main.java:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
package matrix;

import java.util.LinkedList;
import java.util.List;

public class Main {

    public static void main(String[] args) throws MatrixIndexException, java.io.IOException {
        Matrix m1 = new LargeIntegerMatrix("data1.txt", 3, 3);
        Matrix m2 = new LargeIntegerMatrix("data2.txt", 3, 3);
        
        MatrixUtils.fillByRandom(m1);
        MatrixUtils.fillByRandom(m2);
        
        Matrix m = MatrixUtils.matrixMultiple(m1, m2);
        
        System.out.println(m.toStringOneColumn());
        MatrixUtils.writeMatrixToFile(m, "file.txt");
        Matrix m3 = MatrixUtils.loadMatrixFromFile("file.txt");
        System.out.println(m3.toStringOneColumn());
    }
}



Matrix.java:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
package matrix;

public abstract class Matrix {
    
    public abstract int get(int i, int j) throws MatrixIndexException;
    
    public abstract void put(int i, int j, int value) throws MatrixIndexException; 
        
    public abstract int getRowCount();

    public abstract int getColCount();
    
    @Override
    public String toString() {
        StringBuilder out = new StringBuilder();
        out.append("Matrix:\n[ ");

        for (int i = 0; i < getRowCount(); i++) {
            if (i != 0) {
                out.append("\n");
                out.append("  ");
            }
            for (int j = 0; j < getColCount(); j++) {
                try {
                    out.append(get(i + 1, j + 1));
                    if (j != getColCount() - 1) {
                        out.append(" ");
                    }
                } catch (MatrixIndexException e) {

                }
                if (j == getColCount() - 1) {

                    out.append(" ]");
                }

            }
        }
        return out.toString();
    }   

    public String toStringOneColumn() {
        StringBuilder out = new StringBuilder();
        out.append("Matrix:\n[ \n");

        for (int i = 0; i < getRowCount(); i++) {
            for (int j = 0; j < getColCount(); j++) {
                try {
                    out.append(get(i + 1, j + 1));
                    out.append("\n");
                } catch (MatrixIndexException e) {

                }
            }
        }
        out.append("]");
        return out.toString();
    }

    @Override
    public boolean equals(Object obj) {
        Matrix m = (Matrix) obj;
        try {
            if (m.getRowCount() != getRowCount() || m.getColCount() != getColCount()) {
                return false;
            }
    
            for (int i = 0; i < getRowCount(); i++) {
                for (int j = 0; j < getColCount(); j++) {
                    if (this.get(i + 1, j + 1) != m.get(i + 1, j + 1)) {
                        return false;
                    }
                }
            }
    
            return true;
        } catch (MatrixIndexException ex) {
            return false;
        }
    }
}



С уважением, Валентин
...
Рейтинг: 0 / 0
25 сообщений из 114, страница 4 из 5
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему у меня не выводит в txt файл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]