我正在开发一个程序,它将在我的数组中搜索我的单个随机#出现的次数,然后打印多少次或找不到它。我一直在研究如何做到这一点,似乎无法弄明白。这是我迄今为止所做的事情,并提前感谢。
我的代码:
import java.util.Scanner;
import java.util.Random;
class Main {
public static final Random RND_GEN = new Random();
public void createNum(int[] randomNumbers) {
for (int i = 0; i < randomNumbers.length; i++) {
randomNumbers[i] = RND_GEN.nextInt(10) + 1;
}
for (int i = 0; i < 1; i++) {
randomNumbers[i] = RND_GEN.nextInt(10) + 1;
}
}
public void printNum(int[] randomNumbers){
for (int i = 0; i < randomNumbers.length; i++) {
System.out.println("Number " + i + " : " + randomNumbers[i]);
}
for (int i = 0; i < 1; i++) {
System.out.println("Single Random # " + i + " : " + randomNumbers[i]);
}
}
public void run() {
Scanner inputReader = new Scanner(System.in);
int x = 1;
do {
int[] number = new int[20];
createNum(number);
printNum(number);
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();
}
}
答案 0 :(得分:0)
127 > x > -127
答案 1 :(得分:0)
这是计算int
数组中元素的方法:
public int countOccurrences(int[] array, int needle) {
int count = 0;
for (int index = 0; index < array.length; array[++index] == needle ? count++ : count);
return count;
}
答案 2 :(得分:0)
好像这是您在此处发布的其他问题的搜索部分:Random number and array search
在那里,建议您学习线性搜索和二分查找。如果你这样做,将线性搜索转换为代码就不会太难(二进制搜索不会在这里帮助你)。您只需循环遍历数组(您的代码证明您知道如何执行此操作)并检查每个值是否等于您正在搜索的值。当然,如果你想计算命中数,你必须在每次匹配时增加一个计数器。