zoukankan      html  css  js  c++  java
  • java 随机抽取案例,不重复抽取

    以学生类为例,先准备一个Student类

    package cn.sasa.demo1;
    
    public class Student {
    	private int id;
    	private String name;
    	
    	public int getId() {
    		return this.id;
    	}
    	public void setId(int id) {
    		if(id<0) {
    			this.id = 0;
    		}else {
    			this.id = id;
    		}
    	}
    
    	public String getName() {
    		return this.name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	
    	public void SayHi() {
    		System.out.println(this.id + "======" + this.name);
    	}
    }
    

      测试类TestStudent:

    package cn.sasa.demo1;
    import java.util.ArrayList;
    import java.util.Random;
    
    public class TestStudent {
    
    	public static void main(String[] args) {
    		//要求随机抽取三次,不重复
    		ArrayList<Student> stuList = addStu();
    		showStuList(stuList);
    		
    		getRanStu(stuList);
    		showStuList(stuList);
    		
    		getRanStu(stuList);
    		showStuList(stuList);
    		
    		getRanStu(stuList);
    		showStuList(stuList);
    	}
    
    	public static ArrayList<Student> addStu() {
    		ArrayList<Student> stuList = new ArrayList<Student>();
    		Student s1 = new Student();
    		s1.setId(1);
    		s1.setName("abc");
    		
    		Student s2 = new Student();
    		s2.setId(2);
    		s2.setName("bcd");
    		
    		Student s3 = new Student();
    		s3.setId(3);
    		s3.setName("cde");
    		
    		Student s4 = new Student();
    		s4.setId(4);
    		s4.setName("def");
    		
    		Student s5 = new Student();
    		s5.setId(5);
    		s5.setName("efg");
    		
    		Student s6 = new Student();
    		s6.setId(6);
    		s6.setName("fgh");
    		
    		stuList.add(s1);
    		stuList.add(s2);
    		stuList.add(s3);
    		stuList.add(s4);
    		stuList.add(s5);
    		stuList.add(s6);
    		return stuList;
    	}
    	
    	public static void showStuList(ArrayList<Student> stuList) {
    		System.out.println("====================================");
    		for(int i = 0; i < stuList.size(); i++) {
    			stuList.get(i).SayHi();
    		}
    	}
    	
    	public static Student getRanStu(ArrayList<Student> stuList) {
    		System.out.println("====================================");
    		Random ran = new Random();
    		int i = ran.nextInt(stuList.size());
    		Student stu = stuList.get(i);
    		stuList.remove(i);
    		stu.SayHi();
    		return stu;
    	}
    }
    

      

  • 相关阅读:
    VC++SDK编程——字体及位置示例
    VC2008以资源形式实现多语言版本(非Unicode) .转
    跟着编程之美学算法——最长递增子序列(转)
    跟着编程之美学算法——最长公共子序列
    MFC的多国语言界面的实现
    随意输入N个英文字符,找出其中最长连续的排列。
    C++读写EXCEL文件方式比较 .
    操作EXCEL和符号分隔文本的类CSpreadSheet .
    每个程序员都必读的12篇文章
    VC项目配置详解
  • 原文地址:https://www.cnblogs.com/SasaL/p/9992534.html
Copyright © 2011-2022 走看看