首页 > 代码库 > java编程:给你一个班级的名单,随机分成6个组的问题解决办法
java编程:给你一个班级的名单,随机分成6个组的问题解决办法
注意:标的名单文件要写在与包名同一级别的目录下,记载src上右击,点新建文件file,把名单复制到此文件中,程序就可以依据一些策略访问这个名单的内容
ArrayList是List(列表),数据是有序的,可以有重复元素
HashSet是Set(集合),数据没有顺序,没有重复元素,元素搜索速度快
package 随机分组; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Scanner; import java.util.Set; public class Test { public static void main(String[] args) { List<String> zu=new ArrayList<String>(); Scanner sc = new Scanner(Test.class.getClassLoader().getResourceAsStream("table.txt")); while(sc.hasNextLine()) { String eachOne = sc.nextLine(); if(eachOne!=null && eachOne.trim().length()>0) { zu.add(eachOne);//加到List集合中 //System.out.print(eachOne+"\t"); } } //list有序可以重复 //set 无序不可以重复(此题推荐用这个,因为一旦你的表里面记录了许多个同名字的人它就可以给你忽略掉重复的名字,但是本来就是同名的人另外说) Set<String> s1 = new HashSet<String>(); //List<String> s1=new ArrayList<String>(); int count=0;// while(true) { if(zu.size()==0) { break; } int index=(int)(Math.random()*zu.size()); String n=zu.get(index); if(s1.add(n))//把对应的字符串(名字)加入到set对象里面 { System.out.print(n+"\t"); zu.remove(n);// count++; if(count%7==0)//控制换行 System.out.println(); } } } }
java编程:给你一个班级的名单,随机分成6个组的问题解决办法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。