Для этой программы пользователю предлагается значение для каждой ячейки в массиве, и они должны быть запрещены от ввода значения, которое появляется в другом месте в структуре. Примечание. Я могу использовать массив, а не использовать другую структуру данных.Как вставить уникальное значение в двумерный массив в Java?
Как я могу изменить свой код, чтобы сделать это?
Вот мой код:
public class UniqueArrayAdd {
int i, j;
public UniqueArrayAdd() {
int[][] arr3 = new int[3][3];
Scanner scan = new Scanner(System.in);
for (i = 0; i < arr3.length; i++) {
for (j = 0; j < arr3.length; j++) {
System.out.println("Enter a value");
// What to do to check the duplication
// If the input value is not duplicated then insert other wise //give "Already exist" message
arr3[i][j] = scan.nextInt();
}
}
// For printing array
for (i = 0; i < arr3.length; i++) {
for (j = 0; j < arr3.length; j++) {
System.out.print(arr3[i][j] + "\t");
}
System.out.println("");
}
}
public static void main(String[] args) {
new UniqueArrayAdd();
}
}
Непонятно, что вы просите. Вы имеете в виду _any_ уникальное значение? Если это так, то для каждой ячейки в прямоугольнике 'wxh' вставьте номер' (x + y * w) '. Таким образом, ваша первая строка получит '0, 1, 2, ... w-1', а ваша вторая строка получит' w, w + 1, w + 2 ... 'и т. Д. Все они будут уникальными, поскольку no число повторяется более одного раза. – halfer
@halfer Я думаю, что значения взяты из сканера, поэтому ручной ввод. Но больше информации было бы действительно полезно! –
@halfer Я имею в виду уникальность в том случае, если одно значение вводится в любом месте в строках или столбцах таблицы, тогда другое время не вставляется снова, например, в двумерный массив 00 или 01 или 10 или 11 и т. Д. При любом индексе. –