我需要在20到100之间生成4个数字并打印所有这些数字。在那之后,我需要打印并知道他的sqrt the closet的随机数是谁,我的''男人'在开始时选择的数字。我知道我想做什么,但我没有成功。
public class RandomNumbers {
public static void main(String[] args){
for(int i = 0; i < 5; i++){
System.out.println((int)((Math.random() * 81) + 20));
}
}
}
对于每个值,您需要使用sqrt
检查距离并保持if是否更好(对于4个值,在循环中使用4的边界而不是5):
public static void main(String[] args){
int choosen = 6; // Use a Scanner to use user input
double nearestsqrt = Double.MAX_VALUE;
int value, nearest=-1;
for(int i = 0; i < 4; i++){
value = (int)((Math.random() * 81) + 20);
double sqrt = Math.sqrt(value);
if(Math.abs(sqrt-choosen) < Math.abs(nearestsqrt- choosen)){
nearestsqrt = sqrt;
nearest = value;
}
}
System.out.println(nearest);
}