У меня есть программа, которая создает массив из 20 целых чисел. Затем создает одно случайное число в том же диапазоне. То, что я пытаюсь сделать, это найти массив из 20 целых чисел и подсчитать, сколько раз это единственное случайное число встречается, и распечатать результат или, если целое число отсутствует, отобразить «нет». Я чувствую, что я так близко, но я получаю неправильный счет для случайного целого числа. Заранее спасибо. Периметры для метода поиска: • Тип данных метода недействителен, поскольку данные не возвращаются.
• У него будет три параметра – массив целых чисел, размер массива и значение, которое он будет искать в массиве.
• Он будет искать в массиве и подсчитывать, сколько раз значение было найдено.
• Затем он либо распечатает, сколько раз значение было найдено, либо что значение не было найдено.
Мой код и извините, если он не имеет правильного отступа, все еще выясняя это:
import java.util.Scanner;
import java.util.Random;
class Main{
public static final Random RND_GEN = new Random();
public int[] createNum(int[] randomNumbers) {
for (int i = 0; i < randomNumbers.length; i++) {
randomNumbers[i] = RND_GEN.nextInt(10) + 1;
}
return randomNumbers;
}
public void printNum(int[] randomNumbers){
for (int i = 0; i < randomNumbers.length; i++) {
System.out.println("Number " + i + " : " + randomNumbers[i]);
}
System.out.println("Single # is: " + (RND_GEN.nextInt(10) + 1));
}
public void searchArray(int[] randomNumbers,int numSearch) {
int count = 0;
for (int i : randomNumbers) {
if (i == numSearch) {
count++;
}
}
if (count == 0) {
System.out.println("Single #" + numSearch + " was not found!");
} else {
System.out.println("Single # "+ numSearch + " was found " + count + " times");
}
}
public void run() {
Scanner inputReader = new Scanner(System.in);
int x = 1;
do {
int[] numbers = new int[20];
numbers = createNum(numbers);
printNum(numbers);
int numSearch = RND_GEN.nextInt(10) + 1;
searchArray(numbers, numSearch);
System.out.print("Restart Program?, Enter 1 for YES, 2 for NO: ");
x = inputReader.nextInt();
} while (x == 1);
}
public static void main(String[] args) {
Main go = new Main();
go.run();
}
}