需求:1.返回一个存储10个4位数的随机整数 1000-9999的数组(注意思考怎么产生一个4位的随机整数)(不能重 复)
2.在方法中遍历这个随机数数组
老师源代码
(import java.util.Random;
public class Demo{
public static void main(String[] args){
int[] arr = method();
for(int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
}
public static int[] method(){
Random r = new Random();
int[] arr = new int[10];
int i = 0;
while(i < 10){
int num = r.nextInt(9000)+1000;
for(int j = 0 ; j < arr.length; j++){
if(num == arr[i]){
break;
}
}
arr[i]=num;
i++;
}
return arr;
}
})
输出结果:3285 6013 7157 2983 5565 1587 3136 6060 3286 8456
我先不把随机数调这么大 只要限定0到9的随机数即可,原来基础上把数字调小
源码
(import java.util.Random;
public class Test_02 {
public static void main(String[] args) {
int[] arr = method();
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i]+" ");
}
}
public static int[] method(){
Random r = new Random();
int[] arr = new int[10];
int i = 0;
while(i < 10){
int num = r.nextInt(10);
for(int j = 0 ; j < arr.length; j++){
if(num == arr[i]){
break;
}
}
arr[i]=num;
i++;
}
return arr;
}
})
输出结果:(0 7 6 3 1 0 3 7 1 1 )
然后自己想了很久 只能用笨方法来做 还望大神有更好的方法
源码如下:
(public class Test_01 {
public static void main(String[] args) {
Random r = new Random();
int[] arr = new int[10];
int temp = 0 ;
int a = 0;
for (int i = 0; i < 50; i++) {
temp = r.nextInt(10) ;
if(arr[0] != temp&&arr[0+1]!=temp && arr[0+2]!=temp&&arr[0+3]!=temp&&arr[0+4]!=temp&&arr[0+5]!=temp&&arr[0+6]!=temp&&arr[0+7]!=temp&&arr[0+8]!=temp&&arr[0+9]!=temp){
arr[a]= temp;
a++;
if(a==9){
break;
}
}
}
bianli(arr);
}
public static void bianli(int[] arr){
System.out.print("数组是:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
}
}
)
输出结果:2 6 3 8 9 1 7 5 4 0
|
|