随机sqrt字符串生成

问题描述 投票:-1回答:1

我需要在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));

        }
    }
}
java random
1个回答
-1
投票

对于每个值,您需要使用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);
}
© www.soinside.com 2019 - 2024. All rights reserved.