powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Общий метод Equals
15 сообщений из 15, страница 1 из 1
Общий метод Equals
    #39684144
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте как сделать общий метод для Matrix1D(одномерный) и Matrix2D(двумерный)
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
package matrix;


public abstract class Matrix extends Exception  {
    
    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() {    
        return "";
    }
    



Я не могу закончить код что сверху-_-

ранние toString в обоих классах
/*@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();
}*/
...
Рейтинг: 0 / 0
Общий метод Equals
    #39684249
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nastyaa,

Добрый день,

Нужно заменить

data[i][j]

на

this.get(i + 1, j + 1)

С уважением, Валентин
...
Рейтинг: 0 / 0
Общий метод Equals
    #39684256
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nastyaa , так и не дается вам форматирование кода?
Максимум на полстраницы?
...
Рейтинг: 0 / 0
Общий метод Equals
    #39684258
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.
 @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, j));
                } catch (MatrixIndexException e) {

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

                    out.append(" ]");
                }

            }
        }
        
        return out.toString();



Выводит почему то коряво как можно исправить
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
run:
Matrix:
[  ]
  12 ]
  45 ]
Matrix:
[  ]
  12 ]
  45 ]
trueСБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 0 секунд)
...
Рейтинг: 0 / 0
Общий метод Equals
    #39684259
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,

Сделала так как вы написали выводит вот так
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
Matrix:
[ 123 ]
  456 ]
  789 ]
Matrix:
[ 123 ]
  456 ]
  789 ]
true
...
Рейтинг: 0 / 0
Общий метод Equals
    #39684260
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nastyaaValentin Kolesnikov,

Сделала так как вы написали выводит вот так
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
Matrix:
[ 123 ]
  456 ]
  789 ]
Matrix:
[ 123 ]
  456 ]
  789 ]
true



Вроде бы правильно выводит. True где-то ещё печатается.

С уважением, Валентин
...
Рейтинг: 0 / 0
Общий метод Equals
    #39684262
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простите, я так долго думала над кодом, у меня 15 минут осталось. Можете помочь как к нему можно написать метод equals

Код: java
1.
2.
3.
4.
@Override
    public boolean equals(Object obj) {
        Matrix m = (Matrix) obj;
        return false;



Я правильно написала?
...
Рейтинг: 0 / 0
Общий метод Equals
    #39684264
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 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;
    }



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

или я не правильно написала?
...
Рейтинг: 0 / 0
Общий метод Equals
    #39684270
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nastyaaValentin Kolesnikov,
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 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;
    }



Вот так писать для моего абстрактного класса

Нужно заменить

data[i][j]

на

this.get(i + 1, j + 1)

С уважением, Валентин
...
Рейтинг: 0 / 0
Общий метод Equals
    #39684272
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
@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 (this.get(i + 1, j + 1)) {
                    return false;
                }
            }
        }

        return true;
    }
        
    }
}
...
Рейтинг: 0 / 0
Общий метод Equals
    #39684273
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,

Вот так? но там ошибку выводит
...
Рейтинг: 0 / 0
Общий метод Equals
    #39684274
nastyaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,
исправила но все же ошибка(
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
  @Override
    public boolean equals(Object obj) {
        Matrix m = (Matrix) obj;
        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)) {
                    return false;
                }
            }
        }

        return true;
    }
        
    }
}
...
Рейтинг: 0 / 0
Общий метод Equals
    #39684278
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nastyaaValentin Kolesnikov,
исправила но все же ошибка(
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
  @Override
    public boolean equals(Object obj) {
        Matrix m = (Matrix) obj;
        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)) {
                    return false;
                }
            }
        }

        return true;
    }
        
    }
}



Код: java
1.
2.
3.
4.
5.
      if (data[i][j] != m.data[i][j]) {

Нужно заменить на

      if (this.get(i + 1, j + 1) != m.get(i + 1, j + 1)) {



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

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


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