不能产生10个能被3整除的数

来源:百度知道 编辑:UC知道 时间:2024/05/27 15:46:10
package mypackage;
import java.util.*;
public class math {
int[] num =new int[1000];
public void init(){
for(int i=0;i<=10;i++){
int num = (int)(Math.random()*1001);
if(num%3==0){
System.out.println("产生的幸运号码是:"+num);
}
}
}
}
这个类不能产生10个能被3整除的数
问题出在哪里?
问题是产生的数都能被三整除,但是都不足10个。。。。。。

生成的随机数不一定是3的倍数,而此时i就自动累加了,所以循环结束后不一定有10个3的倍数,应该为:
for(int i=0;i<=10;){
int num=(int)(Math.random()*1001);
if(num%3==0){
System.out.println("产生的幸运号码是:"+num);
i+=1;
}
}

P.S:不必引入java.util包