注册 登录
编程论坛 JAVA论坛

求大神解析下一步怎么做

自学ii 发布于 2017-01-17 15:11, 2194 次点击
public class random_1 {
    public static void main(String[] args){
        int a=(int)(Math.random()*100);
        
        for(int i=1,j=a;i<=100;i++){
        System.out.println("第"+i+"个学员的成绩是"+j);
        
        
    }
    }
}
只有本站会员才能查看附件,请 登录
求解为什么那随机数总是一样啊,每次都是一样的,还有下一步怎么写的?我是初学者
8 回复
#2
ADust、2017-01-17 16:15

public class T {

    public static void main(String[] args) {

        int sum = 0;
        
        for(int i = 0 ; i < 100 ; i++){
            
            sum += Math.floor(Math.random() * 100);
            
        }
        int result = sum / 100;
        
        System.out.println("result:" + result);

    }

}
#3
纵横阳仔2017-01-17 16:38
public class random_1 {
    public static void main(String[] args){
        int sum=0;                          //求学生成绩之和
        for(int i=1;i<=100;i++){
        int a=(int)(Math.random()*100);      //随机生成学生成绩,注意要放在循环里面,否则随机成绩无法改变
        System.out.println("第"+i+"个学员的成绩是"+a);
        sum+=a;                              //成绩累加
        }
        System.out.println("学生的平均成绩是"+sum/100);         //求平均值。这里默认平均成绩是int类型。需要实数类型应强制类型转换。
    }
    }
}
#4
自学ii2017-01-17 16:50
回复 2楼 ADust、
谢谢,在问一句那个sun+是什么意思啊?主要是那个+号
#5
自学ii2017-01-17 16:50
回复 3楼 纵横阳仔
谢谢,在问一句那个sun+是什么意思啊?主要是那个+号
#6
godblessyour2017-01-17 17:07
回复 5楼 自学ii
sum+=a; 就是指 sum = sum+a;这是一种简写的写法
#7
GrayJerry2017-01-18 09:28
回复 楼主 自学ii
你的代码,第一条预计只执行了一次,所以a的值不会变,j也不会变,把第一条语句放到循环里面,j=a也放在循环里面,应该就可以了
#8
自学ii2017-01-18 13:04
回复 6楼 godblessyour
多谢
#9
高英博11号2017-01-20 15:05
下面可实现输出随机数:
public class A {
    public static void main(String[] args){
        for(int i=1;i<=100;i++){
            int a=(int)(Math.random()*100);
            System.out.println("第"+i+"个学员的成绩是"+a);
        }
    }
}
1