Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package quanlylophoc;
- import java.util.ArrayList;
- import java.util.Random;
- /**
- *
- * @author thieumao
- */
- public class QuanLyLopHoc {
- final int SO_HOC_SINH = 25; // phai <= listTen.size()
- final int MAX_8_10 = 3;
- final int MAX_5_7 = 13;
- final int MAX_3_4 = 6;
- final int MAX_1_2 = 2;
- final int MAX_0 = 1;
- private ArrayList listTen;
- private ArrayList listDem;
- private ArrayList listHo;
- private ArrayList listFullName;
- private ArrayList listID;
- private ArrayList listDate;
- private ArrayList listRA;
- private ArrayList listSD;
- private ArrayList listCP;
- private ArrayList listCUT;
- private ArrayList listFMT;
- private ArrayList listAvg;
- private ArrayList listRank;
- public static void main(String[] args) {
- QuanLyLopHoc qllh = new QuanLyLopHoc();
- qllh.init();
- qllh.cal();
- qllh.view();
- }
- private void init() {
- initFullName();
- initID();
- initDate();
- initScore();
- }
- private void cal() {
- listAvg = new ArrayList<>();
- listRank = new ArrayList<>();
- for (int i = 0; i < SO_HOC_SINH; i++) {
- int ra = (int) listRA.get(i);
- int sd = (int) listSD.get(i);
- int cp = (int) listCP.get(i);
- int cut = (int) listCUT.get(i);
- int fmt = (int) listFMT.get(i);
- float avg = (float) (ra + sd + cp + cut + fmt) / 5;
- String rank = "Kem";
- if (avg >= 8) {
- rank = "Gioi";
- } else {
- if (avg >= 6.5) {
- rank = "Kha";
- } else {
- if (avg >= 5) {
- rank = "TrungBinh";
- } else {
- if (avg >= 3.1) {
- rank = "Yeu";
- }
- }
- }
- }
- listAvg.add(avg);
- listRank.add(rank);
- }
- }
- private void view() {
- for (int i = 0; i < SO_HOC_SINH; i++) {
- int stt = i + 1;
- String id = (String) listID.get(i);
- String fullname = (String) listFullName.get(i);
- String date = (String) listDate.get(i);
- int ra = (int) listRA.get(i);
- int sd = (int) listSD.get(i);
- int cp = (int) listCP.get(i);
- int cut = (int) listCUT.get(i);
- int fmt = (int) listFMT.get(i);
- float avg = (float) listAvg.get(i);
- String rank = (String) listRank.get(i);
- System.out.println(stt + " " + id + " " + fullname + " " + date + " " + ra + " " + sd + " " + cp + " " + cut + " " + fmt + " " + avg + " " + rank);
- }
- }
- // tao 25 Ho Ten voi ten khac nhau
- private void initFullName(){
- initTen();
- initDem();
- initHo();
- listFullName = new ArrayList<>();
- ArrayList<Integer> listTemp = new ArrayList<>();
- Random ran = new Random();
- // Tao ra 25 HOC SINH tu listHo, listDem, listTen voi Ten khac nhau
- for (int i = 0; i < SO_HOC_SINH; i++) {
- int iHo = ran.nextInt(listHo.size());
- int iDem = ran.nextInt(listDem.size());
- // random iTen sau cho khac nhau
- int iTen = 0;
- Boolean check = false;
- while (check == false) {
- iTen = ran.nextInt(listTen.size());
- Boolean checkAdd = true;
- // check iTen ton tai trong listTemp chua
- for (int j = 0; j < listTemp.size(); j++) {
- if (iTen == listTemp.get(j)) {
- checkAdd = false;
- }
- }
- if (checkAdd == true) {
- listTemp.add(iTen);
- check = true;
- }
- }
- String hoten = listHo.get(iHo) + " " + listDem.get(iDem) + " " + listTen.get(iTen);
- listFullName.add(hoten);
- }
- }
- // them 50 listTen tieng viet khong dau
- private void initTen() {
- listTen = new ArrayList<>();
- listTen.add("Thieu");
- listTen.add("Linh");
- listTen.add("Tuan");
- listTen.add("Huyen");
- listTen.add("Tuyen");
- listTen.add("Thuy");
- listTen.add("Truc");
- listTen.add("Triet");
- listTen.add("Manh");
- listTen.add("Nam");
- listTen.add("Khanh");
- listTen.add("Tien");
- listTen.add("Thao");
- listTen.add("Duong");
- listTen.add("Dung");
- listTen.add("Cam");
- listTen.add("Trung");
- listTen.add("Yen");
- listTen.add("Hoai");
- listTen.add("Diep");
- listTen.add("Duc");
- listTen.add("Tram");
- listTen.add("Doan");
- listTen.add("Minh");
- listTen.add("Hau");
- listTen.add("Hiep");
- listTen.add("Kien");
- listTen.add("Phuong");
- listTen.add("Phuc");
- listTen.add("Hien");
- listTen.add("Hung");
- listTen.add("Huong");
- listTen.add("Lam");
- listTen.add("Lan");
- listTen.add("Ly");
- listTen.add("Tu");
- listTen.add("Quang");
- listTen.add("Thanh");
- listTen.add("Thin");
- listTen.add("Thinh");
- listTen.add("Kha");
- listTen.add("Yen");
- listTen.add("Toan");
- listTen.add("Hanh");
- listTen.add("Thu");
- listTen.add("Truong");
- listTen.add("Vinh");
- listTen.add("Vu");
- listTen.add("Tuong");
- listTen.add("Xuan");
- }
- // them 30 listTen dem khong dau
- private void initDem() {
- listDem = new ArrayList<>();
- listDem.add("Van");
- listDem.add("Thi");
- listDem.add("Thuy");
- listDem.add("Xuan");
- listDem.add("Thanh");
- listDem.add("Duc");
- listDem.add("Tiet");
- listDem.add("Khanh");
- listDem.add("Luong");
- listDem.add("Phuong");
- listDem.add("Tram");
- listDem.add("Nhu");
- listDem.add("Tien");
- listDem.add("Hoang");
- listDem.add("Trung");
- listDem.add("Minh");
- listDem.add("Tri");
- listDem.add("Chi");
- listDem.add("Quang");
- listDem.add("Manh");
- listDem.add("The");
- listDem.add("Dieu");
- listDem.add("Khanh");
- listDem.add("Hong");
- listDem.add("Nha");
- listDem.add("Truong");
- listDem.add("Tran");
- listDem.add("Viet");
- listDem.add("Bich");
- listDem.add("Ba");
- }
- // them 15 ho khong dau
- private void initHo() {
- listHo = new ArrayList<>();
- listHo.add("Nguyen");
- listHo.add("Tran");
- listHo.add("Le");
- listHo.add("Trinh");
- listHo.add("Mai");
- listHo.add("Man");
- listHo.add("Pham");
- listHo.add("Do");
- listHo.add("Vi");
- listHo.add("Bui");
- listHo.add("Ta");
- listHo.add("Hoang");
- listHo.add("Khong");
- listHo.add("Ngo");
- listHo.add("Dao");
- }
- // tao 25 ID bat dau HV
- private void initID() {
- listID = new ArrayList<>();
- ArrayList<Integer> listTemp = new ArrayList<>();
- Random ran = new Random();
- for (int i = 0; i < SO_HOC_SINH; i++) {
- int id = 0;
- Boolean check = false;
- while (check == false) {
- id = ran.nextInt(10000000);
- Boolean checkAdd = true;
- for (int j = 0; j < listTemp.size(); j++) {
- if (id == listTemp.get(j)) {
- checkAdd = false;
- }
- }
- if (checkAdd == true) {
- listTemp.add(id);
- check = true;
- }
- }
- String strID = "" + id;
- int so0Them = 7 - strID.length();
- for (int j = 0; j < so0Them; j++) {
- strID = "0" + strID;
- }
- strID = "HV" + strID;
- listID.add(strID);
- }
- }
- // tao 25 ngay random tu 01/02/1991 den 31/12/1991
- private void initDate() {
- listDate = new ArrayList<>();
- // tao Thang roi tao Ngay
- Random ran = new Random();
- for (int i = 0; i < SO_HOC_SINH; i++) {
- Boolean check = false;
- while (check == false) {
- int thang = ran.nextInt(13);
- while (thang < 2 || thang > 12) {
- thang = ran.nextInt(13);
- }
- int ngay = 0;
- while (ngay == 0) {
- switch (thang) {
- case 2:
- ngay = ran.nextInt(29);
- break;
- case 4:
- case 6:
- case 9:
- case 11:
- ngay = ran.nextInt(31);
- break;
- default:
- ngay = ran.nextInt(32);
- break;
- }
- }
- String strNgay = "" + ngay;
- if (ngay < 10) {
- strNgay = "0" + strNgay;
- }
- String strThang = "" + thang;
- if (thang < 10) {
- strThang = "0" + strThang;
- }
- String strDate = strNgay + "/" + strThang + "/1991";
- Boolean checkAdd = true;
- for (int j = 0; j < listDate.size(); j++) {
- if (strDate == listDate.get(j)) {
- checkAdd = false;
- }
- }
- if (checkAdd == true) {
- check = true;
- listDate.add(strDate);
- }
- }
- }
- }
- private ArrayList initListScore() {
- ArrayList listScore = new ArrayList<>();
- // 3 hv 8-10
- // 13 hv 5-7
- // 6 hv 3-4
- // 2 hv 1-2
- // 1 hv bo kiem tra
- Random ran = new Random();
- int i810 = 0; // max = 3
- int i57 = 0; // max = 13
- int i34 = 0; // max = 6
- int i12 = 0; // max = 2
- int i0 = 0; // max = 1
- for (int i = 0; i < SO_HOC_SINH; i++) {
- int score = 0;
- Boolean check = false;
- while (check == false) {
- score = ran.nextInt(11);
- if (score >= 8) {
- i810++;
- }
- if (score >= 5 && score <= 7) {
- i57++;
- }
- if (score >= 3 && score <= 4) {
- i34++;
- }
- if (score >= 1 && score <= 2) {
- i12++;
- }
- if (score == 0) {
- i0++;
- }
- check = true;
- if (i810 > MAX_8_10) {
- i810--;
- check = false;
- }
- if (i57 > MAX_5_7) {
- i57--;
- check = false;
- }
- if (i34 > MAX_3_4) {
- i34--;
- check = false;
- }
- if (i12 > MAX_1_2) {
- i12--;
- check = false;
- }
- if (i0 > MAX_0) {
- i0--;
- check = false;
- }
- }
- listScore.add(score);
- }
- return listScore;
- }
- private void initScore() {
- listRA = initListScore();
- listSD = initListScore();
- listCP = initListScore();
- listCUT = initListScore();
- listFMT = initListScore();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement