원 클릭 생 성 천둥 등 호밀 가사
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();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 두 수의 최대 공약수 구하 기 (세 가지 방법)자바 두 수의 최대 공약수 구하 기 (세 가지 방법) 1. 역법 전에 저도 몰 랐 습 니 다. 인터넷 에서 찾 아 봤 는데 0 과 0 이 아 닌 수의 약 수 는 모두 이 0 이 아 닌 숫자 입 니 다. 결실 2. 전...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.