Сравнение строк в 2d массиве в java с помощью метода deepequals
пользовательский ввод n количество строк в 2d массиве
Элементы хранятся в массиве размером [n][4].
входной формат:
Первая строка входных данных-это целое число “n”, которое обозначает количество строк.
Следующие n строк содержат элементы строки
выходной формат:
если 2 строки совпадают, то разделите их дефисом
Если ни одна строка не совпадает, выведите "None".
Если размер массива отрицательный, выведите "недопустимый ввод" и завершите работу программы.
Пример Ввода 1:
5
3 1 2 4
2 4 5 1
3 1 2 4
2 4 5 1
3 1 2 4
Пример Вывода 1:
1-3
1-5
2-4
3-5
Пример Ввода 2:
3
3 1 2 4
2 4 5 1
3 4 2 5
Пример Вывода 2:
Никто
Пример Ввода 3:
-5
Пример Вывода 3:
Неверный Ввод
Что я уже пробовал:
import java.util.Arrays; import java.util.Scanner; import java.lang.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); if(n <= 0) { System.out.println("Invalid Input"); } else { int[][] data = new int[n][4]; for (int i = 0; i < n; i++) { for (int j = 0; j < 4; j++) { data[i][j] = sc.nextInt(); } } Object[] array = new Object[4]; Object[] array1 = new Object[4]; int idx = 0; int idx1 = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < 4; j++) { array[idx] = data[i][j]; array1[idx1] = data[i + 1][j]; idx++; idx1++; if (Arrays.deepEquals(array, array1)) { System.out.println(i + "-" + j); } else System.out.println("None"); } } } } }
Richard MacCutchan
И ваш вопрос ... ?
ANANYA PRAMANIK
я не получаю желаемого результата
Richard MacCutchan
Затем вам нужно выполнить некоторую отладку, чтобы выяснить, где код идет не так. Вы знаете, какие значения вводятся, поэтому вы должны быть в состоянии увидеть, где лежит ошибка. Либо используйте свой отладчик, либо добавьте несколько операторов печати, чтобы показать различные значения при запуске программы.
Member 14510381
импорт java.util.*;
импорт java.lang.*;
team_rival открытый класс {
публичный статический пустота главный(строка[] аргументы) {
Scanner SC = новый сканер(System.in);
int c=0,n=sc.nextInt();
если(n>0) {
int[][] a = новый int[n][4];
for(int i=0;i
CHill60
Какой в этом был смысл?
Member 14510381
Я опубликовал полное решение, но оно показывало предварительный просмотр, как указано выше.
Member 14510381
Если вы знаете, как разместить полнометражное решение, то скажите мне.
CHill60
Вы нажимаете кнопку "Добавить решение" и вставляете свой код в предоставленное поле ввода. Выберите соответствующее форматирование из всплывающего окна-в данном случае "блок кода". Затем вы добавляете комментарий (текст) к своему решению, чтобы объяснить, почему вы отвечаете на вопрос, которому почти 2 года и который является чьим-то домашним заданием.
Отвечать на домашние вопросы бесполезно - ОП никогда не научится.