gpt4 book ai didi

java - 获取2个随机数的平均值 "30"

转载 作者:行者123 更新时间:2023-12-02 07:21:28 24 4
gpt4 key购买 nike

我正在尝试获取 2 个随机数的平均值。平均值应为 30,并且第一个数字应小于第二个数字。但是,我陷入了循环函数。

public static void main(String[] args) {
Scanner user_input = new Scanner(System.in);
String respond;
System.out.println("enter OK");
respond = user_input.next();
randomAverage();

}

public static void randomAverage(){
Random random = new Random();
int average = 30;
int a = random.nextInt(100); //random range
int b = random.nextInt(100);
System.out.println("random a " +a);
System.out.println("random b "+b);
while(a>b){
a = random.nextInt(100); //random range
b = random.nextInt(100);
System.out.println("random a " +a);
System.out.println("random b "+b);
}
int c = (a+b)/2;
while (c>average || c<average){
a = random.nextInt(100); //random range
b = random.nextInt(100);
System.out.println("random a " +a);
System.out.println("random b "+b);
}
}

我尝试了上述功能,但是我得到了冗余数据

任何人都可以帮助我

我刚刚开始学习这门语言

最佳答案

您永远不会更新 c 的值。

你的第二个循环应该类似于:

int c = (a+b)/2;
while (c != average) { // Simpler conditional
a = random.nextInt(100);
b = random.nextInt(100);
c = (a+b)/2; // Must update this.
System.out.println("random a " +a);
System.out.println("random b "+b);
}

注释为radai mentioned ,

由于(a+b)/2 = 30,如果您知道a,您就可以求解b。当简单地 b = 60 - a 时,没有必要消耗 CPU 周期。

关于java - 获取2个随机数的平均值 "30",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14168951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com