我的Java学习之路(第十七天)------关于随机数的一个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]);
		}