Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Где я ошиблась / 22 сообщений из 22, страница 1 из 1
25.07.2018, 08:13
    #39678691
nastyaa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
Matrix:
[ 12 2 0
1 11 0
0 0 0 ]
Matrix:
[ 120 120 120 120 0
120 120 120 120 0
120 120 120 120 0
120 120 120 120 0
0 0 0 0 0 ]

Почему остальные ячейки показывают цифру 0

вот код -
Matrix m1 = new Matrix(3, 3);
MatrixUtils.fillByRandom(m1);
System.out.println(m1.toString());

Matrix m2 = new Matrix(5, 5);
MatrixUtils.fillByNumber(m2, 120);
System.out.println(m2.toString());

----------------------------------
public class MatrixUtils {

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

for (int j = 0; j < colCount; j++) {
try{
m.put(i, j, random.nextInt(20));
}
catch(MatrixIndexException e){

}

}
}
}

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

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

for (int j = 0; j < rowCount; j++) {
try {
m.put(i, j, number);
}
catch(MatrixIndexException e) {

}
}

}
}

}
...
Рейтинг: 0 / 0
25.07.2018, 08:21
    #39678695
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
Вы там в блокноте что ли печатаете :) Используйте форматирование, даже нотпад++ вроде есть плагин для форматирования кода.
И оформляйте с теками код, а то даже такой короткий код, невозможно понять.
Код: 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.
public class MatrixUtils {

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

            for (int j = 0; j < colCount; j++) {
                try {
                    m.put(i, j, random.nextInt(20));
                } catch (MatrixIndexException e) {

                }

            }
        }
    }

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

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

            for (int j = 0; j < rowCount; j++) {
                try {
                    m.put(i, j, number);
                } catch (MatrixIndexException e) {

                }
            }

        }
    }
}

...
Рейтинг: 0 / 0
25.07.2018, 08:23
    #39678697
nastyaa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
Nixic,

не подскажите где я ошиблась
...
Рейтинг: 0 / 0
25.07.2018, 08:23
    #39678698
nastyaa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
Nixic,

буду вам благодарна)
...
Рейтинг: 0 / 0
25.07.2018, 09:07
    #39678709
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
nastyaaNixic,

не подскажите где я ошиблась
Нигде, всё норм, это у вас где-то в другом месте, потому что вот так всё нормально, тот же цикл в цикле всё нормально выводит.
Дебажьте. Скачайте IDEA она для вас бесплатна.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
import java.util.Random;

public class MatrixUtils {
  
    public static void fillByNumber(Integer m, int number) {
        int rowCount = m;
        int colCount = m;
        for (int i = 0; i < colCount; i++) {
            for (int j = 0; j < rowCount; j++) {
                    System.out.println("i:" + i + ", j: " + j + " " + number);
            }
        }
    }

    public static void main(String[] args) {
        MatrixUtils.fillByNumber(5, 120);
    }

}

...
Рейтинг: 0 / 0
25.07.2018, 09:10
    #39678711
nastyaa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
Благодарю)
...
Рейтинг: 0 / 0
25.07.2018, 12:05
    #39678821
Пылинка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
nastyaaNixic,

не подскажите где я ошиблась
Смотря что вы хотели. Если просили вам не подсказывать, то все правильно. А иначе ошибка в "не подскажите".

nastyaaчто вы так грубо со мной) я же только учусь Если вы хотите научиться, начните с того, что сами будете решать текущие простые проблемки, а не создавать топик для дистанционно отладки вашей учебной задачки. К тому же - не приведя ВЕСЬ код. Полбзуясь моими телепатическими способностями - ошибка в классе Matrix.java.
...
Рейтинг: 0 / 0
25.07.2018, 12:08
    #39678827
nastyaa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
Пылинка,

не подскажите где)

*/
public class Matrix {
private int rowCount;
private int colCount;
private int[][] data;





Matrix(int [][] a){

}

Matrix(int row, int col) {

this.rowCount = row;
this.colCount = col;
data = new int[row][col];
}

Matrix(Matrix matrix) {

this.rowCount = matrix.getRowCount();
this.colCount = matrix.getColCount();
data = new int[rowCount][colCount];

for (int i = 0; i < rowCount; i++) {
for (int j = 0; j < colCount; j++) {
data[i][j] = matrix.data[i][j];
}
}
}

public int get(int i, int j) throws MatrixIndexException {
if (i < 1 || i > rowCount)
throw new MatrixIndexException("Недопустимое число строк: " + i);
if (j < 1 || j > colCount)
throw new MatrixIndexException("Недопустимое число столбцов: " + j);



return data[i-1][j-1];
}

void put(int i, int j, int value) throws MatrixIndexException{
if (i < 1 || i > rowCount)
throw new MatrixIndexException("Недопустимое число строк: " + i);
if (j < 1 || j > colCount)
throw new MatrixIndexException("Недопустимое число столбцов: " + j);

data[i-1][j-1] = value;
}

public int getRowCount() {
return rowCount;
}

public int getColCount() {
return colCount;
}

@Override
public boolean equals(Object obj) {
Matrix m = (Matrix) obj;

if (m.getRowCount() != rowCount || m.getColCount() != colCount) {
return false;
}

for (int i = 0; i < rowCount; i++) {
for (int j = 0; j < colCount; j++) {
if (data[i][j] != m.data[i][j]) {
return false;
}
}
}

return true;
}

@Override
public String toString() {
StringBuilder out = new StringBuilder();
out.append("Matrix:\n[ ");
for (int i = 0; i < rowCount; i++) {
if (i != 0) {
out.append("\n");
out.append(" ");
}
for (int j = 0; j < colCount; j++) {
out.append(data[i][j]);
if (j == colCount - 1) continue;
for (int k = 0; k < getMaxLength() - getIntLength(data[i][j]) + 2; k++) {
out.append(" ");
}
}
}
out.append(" ]");
return out.toString();
}

private int getMaxLength() {
int max = Integer.MIN_VALUE;
for (int i = 0; i < rowCount; i++) {
for (int j = 0; j < colCount; j++) {
int k = data[i][j];
if (k > max) {
max = k;
}
}
}
return getIntLength(max);
}

private int getIntLength(int i) {
return String.valueOf(i).length();
}



}
...
Рейтинг: 0 / 0
25.07.2018, 12:16
    #39678835
nastyaa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
Nixic,

здесь какая та ошибка из за этого тот цикл не работает не подскажите где я не правильно все написала

*/
public class Matrix {
private int rowCount;
private int colCount;
private int[][] data;





Matrix(int [][] a){

}

Matrix(int row, int col) {

this.rowCount = row;
this.colCount = col;
data = new int[row][col];
}

Matrix(Matrix matrix) {

this.rowCount = matrix.getRowCount();
this.colCount = matrix.getColCount();
data = new int[rowCount][colCount];

for (int i = 0; i < rowCount; i++) {
for (int j = 0; j < colCount; j++) {
data[i][j] = matrix.data[i][j];
}
}
}

public int get(int i, int j) throws MatrixIndexException {
if (i < 1 || i > rowCount)
throw new MatrixIndexException("Недопустимое число строк: " + i);
if (j < 1 || j > colCount)
throw new MatrixIndexException("Недопустимое число столбцов: " + j);



return data[i-1][j-1];
}

void put(int i, int j, int value) throws MatrixIndexException{
if (i < 1 || i > rowCount)
throw new MatrixIndexException("Недопустимое число строк: " + i);
if (j < 1 || j > colCount)
throw new MatrixIndexException("Недопустимое число столбцов: " + j);

data[i-1][j-1] = value;
}

public int getRowCount() {
return rowCount;
}

public int getColCount() {
return colCount;
}

@Override
public boolean equals(Object obj) {
Matrix m = (Matrix) obj;

if (m.getRowCount() != rowCount || m.getColCount() != colCount) {
return false;
}

for (int i = 0; i < rowCount; i++) {
for (int j = 0; j < colCount; j++) {
if (data[i][j] != m.data[i][j]) {
return false;
}
}
}

return true;
}

@Override
public String toString() {
StringBuilder out = new StringBuilder();
out.append("Matrix:\n[ ");
for (int i = 0; i < rowCount; i++) {
if (i != 0) {
out.append("\n");
out.append(" ");
}
for (int j = 0; j < colCount; j++) {
out.append(data[i][j]);
if (j == colCount - 1) continue;
for (int k = 0; k < getMaxLength() - getIntLength(data[i][j]) + 2; k++) {
out.append(" ");
}
}
}
out.append(" ]");
return out.toString();
}

private int getMaxLength() {
int max = Integer.MIN_VALUE;
for (int i = 0; i < rowCount; i++) {
for (int j = 0; j < colCount; j++) {
int k = data[i][j];
if (k > max) {
max = k;
}
}
}
return getIntLength(max);
}

private int getIntLength(int i) {
return String.valueOf(i).length();
}



}
...
Рейтинг: 0 / 0
25.07.2018, 12:24
    #39678841
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
nastyaa
Используй теги и предварительный просмотр, Лю..., тьфу - Настя
Код: sql
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.
 */
    public class Matrix {
    private int rowCount;
    private int colCount;
    private int[][] data;
    
    
    
    
    
    Matrix(int [][] a){
        
    }

    Matrix(int row, int col) {
        
        this.rowCount = row;
        this.colCount = col;
        data = new int[row][col];
    }

    Matrix(Matrix matrix) {  
        
        this.rowCount = matrix.getRowCount();
        this.colCount = matrix.getColCount();
        data = new int[rowCount][colCount];

        for (int i = 0; i < rowCount; i++) {
            for (int j = 0; j < colCount; j++) {
                data[i][j] = matrix.data[i][j];
            }
        }
    }

    public int get(int i, int j) throws MatrixIndexException {
         if (i < 1 ||  i > rowCount)
            throw new MatrixIndexException("Недопустимое число строк: " + i);
         if (j < 1 || j > colCount)
            throw new MatrixIndexException("Недопустимое число столбцов: " + j);
         
 

        return data[i-1][j-1];
    }

    void put(int i, int j, int value) throws MatrixIndexException{
         if (i < 1 ||  i > rowCount)
            throw new MatrixIndexException("Недопустимое число строк: " + i);
         if (j < 1 || j > colCount)
            throw new MatrixIndexException("Недопустимое число столбцов: " + j);
       
         data[i-1][j-1] = value;
    }

    public int getRowCount() {
        return rowCount;
    }

    public int getColCount() {
        return colCount;
    }

    @Override
    public boolean equals(Object obj) {
        Matrix m = (Matrix) obj;

        if (m.getRowCount() != rowCount || m.getColCount() != colCount) {
            return false;
        }

        for (int i = 0; i < rowCount; i++) {
            for (int j = 0; j < colCount; j++) {
                if (data[i][j] != m.data[i][j]) {
                    return false;
                }
            }
        }

        return true;
    }

    @Override
    public String toString() {
        StringBuilder out = new StringBuilder();
        out.append("Matrix:\n[ ");
        for (int i = 0; i < rowCount; i++) {
            if (i != 0) {
                out.append("\n");
                out.append("  ");
            }
            for (int j = 0; j < colCount; j++) {
                out.append(data[i][j]);
                if (j == colCount - 1) continue;
                for (int k = 0; k < getMaxLength() - getIntLength(data[i][j]) + 2; k++) {
                    out.append(" ");
                }
            }
        }
        out.append("  ]");
        return out.toString();
    }

    private int getMaxLength() {
        int max = Integer.MIN_VALUE;
        for (int i = 0; i < rowCount; i++) {
            for (int j = 0; j < colCount; j++) {
                int k = data[i][j];
                if (k > max) {
                    max = k;
                }
            }
        }
        return getIntLength(max);
    }

    private int getIntLength(int i) {
        return String.valueOf(i).length();
    }

   
    
}

ЧАВО: Как оформить сообщение
...
Рейтинг: 0 / 0
25.07.2018, 12:27
    #39678843
nastyaa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
Basil A. Sidorov,

спасибо) можете посмотреть где я ошиблась)
...
Рейтинг: 0 / 0
25.07.2018, 16:23
    #39679094
BlackTomcat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
nastyaa,

Код: java
1.
2.
3.
4.
5.
...
} catch(MatrixIndexException e){
  System.out.println("Где-то я ошиблась. " + e.getMessage();
}
...
...
Рейтинг: 0 / 0
25.07.2018, 16:28
    #39679104
BlackTomcat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
Черт, скобку пропустил...

Код: java
1.
2.
3.
4.
5.
...
} catch(MatrixIndexException e){
  System.out.println("Где-то я ошиблась. " + e.getMessage());
}
...
...
Рейтинг: 0 / 0
25.07.2018, 19:31
    #39679252
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
nastyaaBasil A. Sidorov,
спасибо) можете посмотреть где я ошиблась)
В чем код пишете? Какая программа?
...
Рейтинг: 0 / 0
26.07.2018, 06:25
    #39679364
nastyaa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
Nixic,
netbeans
...
Рейтинг: 0 / 0
26.07.2018, 07:27
    #39679373
nastyaa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
BlackTomcat,
извините все так же по прежнему выводит нули
...
Рейтинг: 0 / 0
26.07.2018, 08:16
    #39679380
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
nastyaaNixic,
netbeans
Там есть режим дебага, в курсе что это и как работает?
...
Рейтинг: 0 / 0
26.07.2018, 10:43
    #39679462
BlackTomcat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
nastyaaBlackTomcat,
извините все так же по прежнему выводит нули

И что, больше ничего не выводит?
...
Рейтинг: 0 / 0
26.07.2018, 12:30
    #39679549
Пылинка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
BlackTomcat,
Манагера помогаете растить?
...
Рейтинг: 0 / 0
26.07.2018, 16:43
    #39679758
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
ПылинкаBlackTomcat,
Манагера помогаете растить?
кто-то же должен xml в json и обратно переводить)) с дтошками громадными разбираться)
...
Рейтинг: 0 / 0
07.08.2018, 12:09
    #39684170
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
BlackTomcatnastyaaBlackTomcat,
извините все так же по прежнему выводит нули

И что, больше ничего не выводит?
в последней строке нули ж, а ошибка - это не ошибка типа эксепшн, а баг, траем не ловится)
...
Рейтинг: 0 / 0
07.08.2018, 15:33
    #39684329
BlackTomcat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где я ошиблась
Korcar,

Траем ловится MatrixIndexException, который должен вывалиться, если передавать в сеттер нули. А если его не подавлять, а выводить на печать, то это должно навести на мысль, что матрица поддерживает индексацию с 1, а ее пытаются заполнять с нуля. Отсюда и нули в последней строке (она просто не заполнялась).
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Где я ошиблась / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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