import java.util.Random; import java.util.Vector;public class GetNum { private Vector<Integer> nums = null; private Random random = null; public GetNum() { nums = new Vector<Integer>(10); for (int i = 0; i < 10; i++) { nums.add(i); } random = new Random(); } public Vector<Integer> getNum() { Vector<Integer> temp = new Vector<Integer>(5); for (int i = 0; i < 5; i++) { Integer integer = nums.get(random.nextInt(nums.size())); temp.add(integer); nums.remove(integer); } return temp; } public static void main(String... args) { GetNum num = new GetNum(); System.out.println(num.getNum()); }}
Random random = new Random(); Set<Integer> s = new HashSet<Integer>();
while(true){ int temp = random.nextInt(9); s.add(temp); if(s.size()==5) break; }
for (Integer integer : s) { System.out.println(integer); }
Random r=new Random(); Set<Integer> set=new HashSet<Integer>(); whiel(set.size<6){ int count=r.nextInt(9); set.add(count); } for(int count:set){ System.out.println(count); }
0 =< nextInt(n) < n
方法一:public List getRandomNumber(){ List all=new ArrayList(); for(int i=0;i<10;i++)all.add(i);//先放10个数到一个集合中
List num=new ArrayList(); for(int i=0;i<5;i++){ //获取5次 int index=(int)(Math.random()*(10-i));//每次产生一个随机索引 num.add(all.get(index));//获取索引处元素放置到num集合中 all.remove(index);//删除刚才已经获取的元素 //注意每删除一个all集合中少一个元素,索引范围会缩小 } return num; }方法二:public List getRandomNumber(){ List num=new ArrayList(); Random r=new Random(); do{ int n=r.nextInt(10); if(!num.contains(n))num.add(n); }while(num.size()<5); return num; }得到的集合遍历出来即可
int a[]={0,1,2,3,4,5,6,7,8,9} for(int i=0;i<5;i++){ nextInt(a.length-1) }
public class RandomNumber { public static void main(String[] args) { List<Integer> list=new ArrayList<Integer>(); Random roand= new Random(); int i=0; while(i<5) { int num= roand.nextInt(10); if(!list.contains(num)) { list.add(num); i++; } }
2:List里放0--9,用Collections.shuffle(list)乱序,取头5个
import java.util.Vector;public class GetNum { private Vector<Integer> nums = null;
private Random random = null; public GetNum() {
nums = new Vector<Integer>(10);
for (int i = 0; i < 10; i++) {
nums.add(i);
}
random = new Random();
} public Vector<Integer> getNum() {
Vector<Integer> temp = new Vector<Integer>(5);
for (int i = 0; i < 5; i++) {
Integer integer = nums.get(random.nextInt(nums.size()));
temp.add(integer);
nums.remove(integer);
}
return temp;
} public static void main(String... args) {
GetNum num = new GetNum();
System.out.println(num.getNum());
}}
Random random = new Random();
Set<Integer> s = new HashSet<Integer>();
while(true){
int temp = random.nextInt(9);
s.add(temp);
if(s.size()==5) break;
}
for (Integer integer : s) {
System.out.println(integer);
}
Set<Integer> set=new HashSet<Integer>();
whiel(set.size<6){
int count=r.nextInt(9);
set.add(count);
}
for(int count:set){
System.out.println(count);
}
List all=new ArrayList();
for(int i=0;i<10;i++)all.add(i);//先放10个数到一个集合中
List num=new ArrayList();
for(int i=0;i<5;i++){ //获取5次
int index=(int)(Math.random()*(10-i));//每次产生一个随机索引
num.add(all.get(index));//获取索引处元素放置到num集合中
all.remove(index);//删除刚才已经获取的元素
//注意每删除一个all集合中少一个元素,索引范围会缩小
}
return num;
}方法二:public List getRandomNumber(){
List num=new ArrayList();
Random r=new Random();
do{
int n=r.nextInt(10);
if(!num.contains(n))num.add(n);
}while(num.size()<5);
return num;
}得到的集合遍历出来即可
for(int i=0;i<5;i++){
nextInt(a.length-1)
}
public static void main(String[] args) {
List<Integer> list=new ArrayList<Integer>();
Random roand= new Random();
int i=0;
while(i<5)
{
int num= roand.nextInt(10);
if(!list.contains(num))
{
list.add(num);
i++;
}
}
for(int j=0;j<list.size();j++)
{
System.out.println(list.get(j));
}
}
}
for(int i=0;i<5;i++){
nextInt(a.length-1)
}
上面代码忘了移除元素了~~
把用list 代替 数组