永发信息网

java定义数组并添加3个随机数 要求:随机数的值固定为2的0-8次方的结果如(1、2、4……) 值不得重复

答案:3  悬赏:20  手机版
解决时间 2021-03-17 07:46
java定义数组并添加3个随机数 要求:随机数的值固定为2的0-8次方的结果如(1、2、4……) 值不得重复
最佳答案
import java.util.Random;

public class Test {
public static void main(String[] args) {
int[] intValue = new int[3];
int a1, a2, a3;
Random rnd = new Random();
while (true) {
a1 = rnd.nextInt(8);
a2 = rnd.nextInt(8);
a3 = rnd.nextInt(8);
if (a1 != a2 && a1 != a3 && a2 != a3) {
break;
}
}
System.out.println(a1 + " " + a2 + " " + a3);
if (a1 == 0) {
intValue[0] = 1;
} else {
intValue[0] = 1 << a1;
}
if (a2 == 0) {
intValue[1] = 1;
} else {
intValue[1] = 1 << a2;
}
if (a3 == 0) {
intValue[2] = 1;
} else {
intValue[2] = 1 << a3;
}
for (int s : intValue) {
System.out.println(s + "");
}
}
}

测试过了,没啥问题,虽然办法比较笨
全部回答
easy .
Random() 产生一个int类型的随机数,然后 MOD 8,把值去做2的乘方,然后去数组中遍历是不是存在了,不存在,插入数组中 。
over 。

Good Luck !
public static void main(String[] args) {
Random r = new Random();
int[] arr = new int[3];
boolean f=false;
for(int i=0;i<3;i++){
arr[i]=(int) Math.pow(2, r.nextInt(8));
if(i>0){
for(int j=0;j if(arr[i]==arr[j]){
f=true;
}}
if(f){
i--;
f=false;
continue;
}
}

System.out.println(arr[i]);
}
}追问

结果是这样的。。。

追答

我刚把程序改了,你在重新试一下,我亲测的,没问题,适合任意长度的数组

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我在官网下载的热血传奇客户端怎么安装不了啊
鹤和鹿一共35只,96条腿,求鹤和鹿各几只
南京市浦口区的旭日爱上城属于哪个街道什么社
夜郎古国为什么叫夜郎
12x26 12x4减便方法
为什么我过年给别人转的钱还没到账
为什么手机发短信 上面写着有效期一天
为什么菠萝头中间有红色
中国出口衣服!外国人穿好再卖到中国(洋垃圾
公安机关开始抓网络麻将群主?
刺激上班族做微商语言
要做一块7mL*4mH的背景板,还有一块4mH*10mH
成都宽窄巷子三块砖电话订餐电话
茂名市宏盛化工有限公司地址有知道的么?有点
本人骑车摔伤,导致腿部有多处淤青,一个大的
推荐资讯
中秋连逢国庆,重庆人民喜迎双重之庆,求下联!
Hard to forget you
CATIA冲压方向能与草图平面成非90度吗
永康至龙游客车中途经过湖镇吗
高数选择题 曲线 y=(x-2)³的拐点是
我想去疯我想去放纵是哪首歌曲的歌词
()比56少8分之1列式计算
关于同音字(离)的成语
深圳去厦门旅游要多少钱
好的口红和普通口红 它们的区别在哪里
甄嬛传里具体唐艺昕出现在哪集
安心裤多久换一次
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?