Java 执行while或while循环以使用math.random生成一组20个数字

Java 执行while或while循环以使用math.random生成一组20个数字,java,Java,我要做的是生成一组20个不同的随机数,然后显示平均数、正数和负数。我对生成要使用的数字集感到困惑,但我认为我已经把其他所有事情都做好了 int positive = 0; int negative = 0; int count = 0; int total = 0; int average; Random r = new Random(); int number = 0; while (count > 20) { number = r.nextInt(200);

我要做的是生成一组20个不同的随机数,然后显示平均数、正数和负数。我对生成要使用的数字集感到困惑,但我认为我已经把其他所有事情都做好了

int positive = 0;
int negative = 0;
int count = 0;
int total = 0;
int average;


Random r = new Random();
int number = 0;


 while (count > 20) {
    number = r.nextInt(200);
    total += number;
    count++;
    if (number > 0) {
        positive++;
    } 
    else if (number < 0) {
        negative++;
    }
}
average = (double) total / count;
System.out.println("The number of positives is " + positive + " ");
System.out.println("The number of negatives is " + negative + " ");
System.out.printf("The average is: " + average);
int正=0;
int负=0;
整数计数=0;
int-total=0;
整数平均;
随机r=新随机();
整数=0;
而(计数>20){
编号=r.nextInt(200);
总数+=数量;
计数++;
如果(数字>0){
正++;
} 
否则如果(数字<0){
负++;
}
}
平均值=(双)总数/计数;
System.out.println(“正数为“+正数+”);
System.out.println(“负片数为“+负片+”);
System.out.printf(“平均值为:“+平均值”);

这里有一种方法,您可以将0-100之间的20个随机数相加,然后显示结果

private int total = 0;
private int i = 0;
private Random generator = new Random();
private int pos = 0;
private int neg = 0;
private int max_int = Integer.MIN_VALUE;
private int min_int = Integer.MAX_VALUE;
private int x;    

while(i < 20){
    x = (int) int val = 100 - generator.nextInt(200);

    if(x > max_int)
        max_int = x;
    if(x < min_int)
        min_int = x;

    if(x >= 0)
        pos ++;
    else 
        neg ++;

    total += x
    i++;
}

System.out.println(total / 20.0);
System.out.println("Positive number count :: " + pos);
System.out.println("Positive number count :: " + neg);
System.out.println("Max :: " + max_int);
System.out.println("Min :: " + min_int);
private int total=0;
私有整数i=0;
专用随机生成器=新随机();
私人int pos=0;
私有整数负=0;
private int max_int=Integer.MIN_值;
private int min_int=Integer.MAX_值;
私人INTX;
而(i<20){
x=(int)int val=100—generator.nextInt(200);
如果(x>max_int)
max_int=x;
如果(x=0)
pos++;
其他的
neg++;
总数+=x
i++;
}
系统输出打印项次(总计/20.0);
System.out.println(“正数计数::”+pos);
System.out.println(“正数计数::”+neg);
System.out.println(“Max::”+Max_int);
System.out.println(“Min::”+Min_int);

while((number=r.nextInt(150)-67)!=0)
这怎么知道什么时候在20点停止?r你希望
while(count>=66)
做什么?我看到你的编辑。。。为什么不让我们试试
while(count<60)
我不确定它是否工作,因为它没有捕获超过1个正数或负数。当我运行它时,我得到“code”6.35正数是1负数是0最大的数字是:0。最小的数字是:0。平均值是:Infinity感谢你让我明白了这一点,顺便说一句,把最小值和最大值加进去,用这两个值的平均值怎么样?我的想法是‘如果(x>max){max=x;averageMax=max/positive;}如果(x