원 클릭 생 성 천둥 등 호밀 가사

36762 단어 공부 하 다.
/**
 *      
 * 1.       ,                  
 * 2.          ,   n,       
 * 3.                  ,                  
 * 3.    hashmap ,        
 * 4.   hashmap        
 * 5.       ,  **,*****,                ,    stringbuilder 
 * 6.       
 */
public class leetcode {
    public static String[] yunmubiao = {"a","o","e","i","u","v","ai","ei","ui","ao","ou","iu","ie","ve","er","an","en","in","un","ang","eng","ing","ong"};
    public static String sss= "   、   、    、   、   、  、    、   、   、   、   、    、   、   、  、    、    、   、   、   、    、   、   、   、    、   、    、    、   、    、    、   、    、   、    、   、   、    、    
"
+ "
"
+ " 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
"
+ "
"
+ " 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
"
+ "
"
+ " 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
"
+ "
"
+ " 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
"
+ "
"
+ " 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
"
+ "
"
+ " 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
"
+ "
"
+ " 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
"
+ "
"
+ " 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
"
+ "
"
+ " 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
"
+ "
"
+ " 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 "; // hashmap, , public static Map<String,HashSet<String>> jinglei() { // String xiaoshuo = sss; // hashmap, Map<String,HashSet<String>> hashmap=new HashMap<>(); // , String[] xiaoshuosplit = xiaoshuo.split("[\\pP\\p{Punct}]"); ArrayList<String> newlist = new ArrayList<>(); for (String xspd:xiaoshuosplit) { xspd.trim(); // , , char c=xspd.charAt(xspd.length()-1); // String[] pinyins = PinyinHelper.toHanyuPinyinStringArray(c); if (pinyins.length == 0) break; String pinyin = pinyins[0]; // , hashmap for (String s : yunmubiao) { String rex = "[a-zA-Z]*" + s+"[0-9]*"; if (pinyin.matches(rex)) { // , set , , HashSet<String> orDefault = hashmap.getOrDefault(s, new HashSet<>()); orDefault.add(xspd); hashmap.put(s,orDefault); break; } } } System.out.println(hashmap.size()); // hashmap return hashmap; } // , public static void geci() { Map<String,HashSet<String>> hashSetMap = leetcode.jinglei(); StringBuilder stringBuilder=new StringBuilder(); ArrayList<String> strings =new ArrayList<>(); for (String s : hashSetMap.keySet()) { strings.add(s); } int mapsize= hashSetMap.size(); int mapsize2=0; for (int i =0; i<10; i++) { mapsize2= (int) (mapsize*Math.random()); ArrayList<String> inner = new ArrayList<>(hashSetMap.get(strings.get(mapsize2))); int x1= (int) (Math.random()*sss.length()); int x2= 1+(int) (Math.random()*3); stringBuilder.append(sss.substring(x1,x1+x2)); stringBuilder.append(","); for (int j = 0 ; j< 2+Math.random()*3;j++) { String s = inner.get((int) (inner.size() * Math.random())); stringBuilder.append(s); } stringBuilder.append("
"
); } System.out.println(stringBuilder.toString()); leetcode.textToSpeech(stringBuilder.toString()); } public static void textToSpeech(String text) { ActiveXComponent ax = null; try { ax = new ActiveXComponent("Sapi.SpVoice"); // Dispatch spVoice = ax.getObject(); // 0-100 ax.setProperty("Volume", new Variant(100)); // -10 +10 ax.setProperty("Rate", new Variant(+7)); // Dispatch.call(spVoice, "Speak", new Variant(text)); // ax = new ActiveXComponent("Sapi.SpFileStream"); Dispatch spFileStream = ax.getObject(); ax = new ActiveXComponent("Sapi.SpAudioFormat"); Dispatch spAudioFormat = ax.getObject(); // Dispatch.put(spAudioFormat, "Type", new Variant(22)); // Dispatch.putRef(spFileStream, "Format", spAudioFormat); // , .wav Dispatch.call(spFileStream, "Open", new Variant("./text.wav"), new Variant(3), new Variant(true)); // Dispatch.putRef(spVoice, "AudioOutputStream", spFileStream); // 0 100 Dispatch.put(spVoice, "Volume", new Variant(100)); // Dispatch.put(spVoice, "Rate", new Variant(-2)); // Dispatch.call(spVoice, "Speak", new Variant(text)); // Dispatch.call(spFileStream, "Close"); Dispatch.putRef(spVoice, "AudioOutputStream", null); spAudioFormat.safeRelease(); spFileStream.safeRelease(); spVoice.safeRelease(); ax.safeRelease(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { //leetcode.splittext(" , .. ,。。 ,"); String rex = "[a-zA-Z]*" + "en"+"[0-9]*"; leetcode.geci(); }

좋은 웹페이지 즐겨찾기