#java
#java
Вопрос:
Я пытаюсь узнать, какое число повторяется в Java.
Я использую 1.8JDK и никогда не ввожу IF. Я не знаю, что я могу сделать для работы программы, я в затруднении.
Можете ли вы проверить мой код?
package exercici10;
import java.util.Scanner;
public class isRepeatedOrNot {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] myArray = new int[10];
int[] myArray2 = new int[10];
for (int i = 0; i < 10; i ) {
myArray2[i] = myArray[i];
}
System.out.print("Enter 10 numbers: ");
// Get myArray.
for (int i = 0; i < 10; i ) {
myArray[i] = sc.nextInt();
}
// Print myArray.
for (int i = 0; i < myArray.length; i ) {
for (int j = 0; j < myArray2.length; j ) {
if (myArray[i] == myArray2[j]) {
System.out.println("Is repeated.");
return;
}
}
}
System.out.println("No numbers repeated.");
sc.close();
}
}
Спасибо.
С уважением, Алекс.
Ответ №1:
Вам не нужно иметь два массива, достаточно использовать один массив и функцию, которая проверит, есть ли повторение числа:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] myArray = new int[10];
System.out.print("Enter 10 numbers: ");
// Get myArray.
for (int i = 0; i < 10; i ) {
myArray[i] = sc.nextInt();
}
System.out.println(isNumberRepeated(myArray));
sc.close();
}
public static boolean isNumberRepeated(int[] array)
{
for (int i=0; i<array.length; i ) {
for (int j=i 1; j<array.length; j ) {
if (array[i]==array[j]) {
return true;
}
}
}
return false;
}
}
Ввод :
Enter 10 numbers: 1
2
3
4
5
6
7
8
9
10
false
Ввод 2 :
Enter 10 numbers: 1
2
3
4
5
54
6
7
54
9
true
Ответ №2:
Вы могли бы использовать HashSet, который не допускает дублирования значений.
public static void main(String[] args) {
Integer[] myArray = {1, 2, 3, 1, 3, 4, 5, 7, 6, 3, 2};
HashSet<Integer> uniqueNumbers = new HashSet<>();
HashSet<Integer> repeatedNumbers = new HashSet<>();
for (Integer integer : myArray) {
if (uniqueNumbers.contains(integer)) {
repeatedNumbers.add(integer);
} else {
uniqueNumbers.add(integer);
}
}
System.out.println(repeatedNumbers);
}
Также, если вам нужно изменить свой код, чтобы показать, сколько раз повторяется каждое число, вы можете использовать hashmap .