我們玩一個隨機0-9組成一個8位不重復數字的字符串,產生4個這樣的字符串,也是互相不重復的



package
text2; import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.Map; /* * 我們玩一個隨機0-9組成一個8位不重復數字的字符串. * 產生4個這樣的字符串,也是互相不重復的 */ public class Example { //1.第一種方法:產生一個字符串 public static String getRandomString() { //hashSet存儲不重復的書 HashSet<Character> characters=new HashSet<Character>(); //長度為8 while(characters.size()<8) { //隨機產生0-9的書 int number=(int) (Math.random()*9); char ch=(char) number; characters.add(ch); } String str=""; for(Character ch: characters) { str +=ch; } return str; } //1.第二種方法:產生一個字符串 public static String getRandStr() { //先定義一個可變數組 StringBuilder bulider=new StringBuilder(); //8位數 while(bulider.length()<8) { //產生隨機數 int number=(int)(Math.random()*9); //StringBuilder中沒有包含方法,可以將StringBuilder轉換為String類型 if(! bulider.toString().contains(number+"")) { bulider.append(number); } } return bulider.toString(); } //2.4個不重復的數組 public static HashSet<String> getRandomStrings(){ //創建一個HashSet集合 HashSet<String> hashset=new HashSet<String>(); while(hashset.size()<4) { hashset.add(getRandomString()); } return hashset; } public static void main(String[] args) { String[] str= {"可樂","啤酒","烤鴨","炸雞"}; Map<String,String> map=new LinkedHashMap<String,String>(); //將獲取的編號和字符串對應 HashSet<String> hash=getRandomStrings(); ArrayList<String> arrayList=new ArrayList<String>(); arrayList.addAll(hash); //遍歷添加字符串 for(int i=0;i<str.length;i++) { map.put(arrayList.get(i), str[i]); } //遍歷輸出字符串 //map.keySet():返回一個有健組成的set集合 //map.get(Key k):返回一個指定健的值 for(String string:map.keySet()) { System.out.println(map.get(string)); } } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM