public static String[] flavorSet(int n) {
String[] results = new String[n];
boolean[] picked = new boolean[flavors.length];
for(int i=0 ; i < n; i++){
int t;
do
t = rand.nextInt(flavors.length);
while(picked[t]); //do{...} while() 循环 先执行语句,在判断括号里的语句,是真再循环,假就退出循环
results[i] = flavors[t];
picked[t] = true;
}
return results;
}
能详细解释一下怎么执行的吗,主要问题是boolean的值
do t = rand.nextInt(flavors.length); while(picked[t]);怎么执行的
答案:2 悬赏:10 手机版
解决时间 2021-01-25 20:42
- 提问者网友:且恨且铭记
- 2021-01-24 21:44
最佳答案
- 五星知识达人网友:一把行者刀
- 2021-01-24 22:30
刚开始初始化的时候picked数组里面的元素的值全为false,所以第一次for循环的时候while循环只走了一次,后面的就一步一步来
全部回答
- 1楼网友:底特律间谍
- 2021-01-24 22:46
rand.nextInt(100)表示获取0-99的随机数,?rand.nextInt(100)+1表示1,100的随机数
再看看别人怎么说的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯