关于随机数的一个Java面试题目
题目内容为:
创建一个长度为6的int型数组,取值为1-30,并且元素值各不相同
思路:第一个数字不用管(因为没有数字和它重复),从第二个元素开始,依次比较与前面数字是否相同,如果相同则重新生成一个新的随机数,下面为实现代码;
🌂很简单,一眼就能看懂(Eg:如果没看懂,评论区评论下,我会解释的,不过应该不存在这个问题)
`package de1;
public class Test {
public static void main(String[] args) {
//创建数组
int[] array = new int[6];
for(int i=0;i<array.length;i++) {
//保证了数组里的数在[1,30]之间
array[i] = (int)(Math.random() * 30) + 1;
//判断是否与前面的数字相同,若相同则重新给当前数组元素赋值
for(int j=0;j<i;j++) {
if(array[i]==array[j])
i--;
break;
}
}
//遍历数组
for(int x:array) {
System.out.println(x);
}
}
}`
当然,遍历数组还有另外一种方式,两种方式是等价的;
`for(int i=0;i<array.length;i++) {
System.out.println(array[i]);
}`
网友评论