import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 接收输入的整数n(要产生的随机数的个数)
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
// 产生n个随机数list
double[] list = new double[n];
for (int i = 0; i < n; i++) {
list[i] = Math.random();
}
// 接收输入的data(要查找的数)
double data = sc.nextDouble();
boolean flag = false;// 是否查找到
// 在list中查找data
for (int i = 0; i < n; i++) {
if (data == list[i]) {
System.out.println("比较次数:" + (i + 1) + " 位置:" + i);
flag = true;
}
}
if (!flag)
System.out.println("未查找到");
}
}
说实话,恰好输入一个和0到1之间的随机小数相等的数的概率几乎为零,这么写(老实地按你的意思写)基本上得到的输出都是"未查找到"
建议这样做
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 接收输入的整数n(要产生的随机数的个数)
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
// 产生n个随机数list
int[] list = new int[n];
for (int i = 0; i < n; i++) {
list[i] = (int) (Math.random()*10);
}
// 接收输入的data(要查找的数)
int data = sc.nextInt();
boolean flag = false;// 是否查找到
// 在list中查找data
for (int i = 0; i < n; i++) {
if (data == list[i]) {
System.out.println("比较次数:" + (i + 1) + " 位置:" + i);
flag = true;
}
}
if (!flag)
System.out.println("未查找到");
}
}