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;
    	}
    }
    

      

  • 相关阅读:
    Codeforces 1291 Round #616 (Div. 2) B
    总结
    刷新DNS解析缓存+追踪+域名解析命令
    数学--数论--Hdu 5793 A Boring Question (打表+逆元)
    Lucene.net(4.8.0) 学习问题记录六:Lucene 的索引系统和搜索过程分析
    LeetCode 117 Populating Next Right Pointers in Each Node II
    LeetCode 116 Populating Next Right Pointers in Each Node
    test test
    LeetCode 115 Distinct Subsequences
    LeetCode 114. Flatten Binary Tree to Linked List
  • 原文地址:https://www.cnblogs.com/SasaL/p/9992534.html
Copyright © 2011-2022 走看看