for(int i = 0;i < 5;i++ ){
int a = (int)(Math.random*10)//
System.out.println(a);
// 要求每一次循环只输出一个,并且每输出的数不能重复
}
要求只循环5次,且每次循环都输出一个不重复的数?除非能获取随机数的时候就保证它不重复,否则好像避免不了有些循环不输出的情况。
比如:
Set nums = new HashSet<>();
for(int i = 0;i < 5;i++ ){
int a = (int)(Math.random*10)
if(nums.add(a)){
System.out.println(a);
}
}
public class TestWork {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i=0,j=0;
int[] arr = new int[5];//动态数组的标准分配
//数组初始化
for(i=0;i<5;i++)
arr[i] = -1;
//生成随机数
for( i = 0; i< 5;){
int v = (int) (Math.random()*10);
for( j = 0;j< i;j++)
{
if (v == arr[j])
break;
}
if(j == i)
{
arr[i] = v;
i++;
}
}
System.out.printf("%d %d %d %d %d",arr[0],arr[1],arr[2],arr[3],arr[4]);
}
}
public class Test {
public static void main(String[] args) {
Set<Integer> exists = new HashSet<>();
for (int i = 0; i < 5; i++) {
while (true) {
int a = new Random().nextInt(10);
if (!exists.contains(a)) {
exists.add(a);
System.out.println(a);
break;
}
}
}
}
}
建一个集合把输出过得放进去,判断一下是否存在,存在就不输出了,不存在就输出并保存
package T;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 5; i++) {
int a = (int) (Math.random() * 10);
if (!list.contains(a)) {
list.add(a);
System.out.println(a);
}
}
}
}
public static void main(String[] args) {
Set<Integer> set=new HashSet<>();
while (set.size()<5){
int a = (int)(Math.random()*10);
if(set.contains(a)) continue;
set.add(a);
}
System.out.println("结果:"+set);
}