java练习,遇到了问题,求指教
问题应该在13行和14行。
package 作业;
import java.util.Random;
public class price {
public static void main(String[] args) {
int arr[]={1,10,300,1000,2000};//设立一个数组,求元素随机的排列
int arr1[]=new int[5];
Random r=new Random();//随机数作为索引
int m=0;
for (int i = 0; i < arr1.length;) {//这里循环是判断抽的数是否重复
m=r.nextInt(arr.length);
arr1[i]=arr[m];//如果把这行改成int price=arr[m]下一行改为judge(arr1,price)就没有问题
if(!judge(arr1,arr1[i])){//
arr1[i]=arr[m];
i++;
}
}
for (int i = 0; i < arr1.length; i++) {
System.out.println(arr1[i]+" ");
}
}
public static boolean judge(int arr1[],int price){//这个方法是用于判断抽的数是否重复。
for (int i = 0; i < arr1.length; i++) {
if(arr1[i]==price){
return true;
}
}
return false;
}
}
//最终idea会让你一直输入,无法得到想要的打印结果。