Sinh một mảng ngẫu nhiên và các giá trị không trùng nhau!
Bài toán này được áp dụng trong các hệ thống sinh đề thi trắc nghiệm. Giải thuật sử dụng thành phần ArrayList để xử lý.
package Process;
import java.util.*;
public class RandomArray {
//Constructor khong tham so
public RandomArray() {
}
//Phuong thuc xu ly
public static ArrayList generate(int number) {
//Khai bao thanh phan trung gian
ArrayList tmp = new ArrayList();
int count=0;
int value;
boolean flag;
while(count<number) {
flag = false;
value = (int)(Math.random()*100);//Gia su cac gia tri nam trong khoang tu 1 den 100
for(int i=0; i<tmp.size(); i++){
if(((Integer)tmp.get(i)).intValue()==value){
flag = true;
break;
}
}
if(!flag){
tmp.add(value);
count++;
}
}
return tmp;
}
public static void main(String[] args) {
ArrayList arrInt = RandomArray.generate(10);
System.out.print(arrInt);
}
}
Tham khảo hình vẽ