文本操作:拉丁豬文字游戲
這個(gè)游戲的規(guī)則我見過(guò)一種以上,這里就以維基百科的規(guī)則為案例來(lái)實(shí)現(xiàn)就好了。
規(guī)則大概是這樣:給定一個(gè)單詞,從左往右統(tǒng)計(jì),將單詞字母中第一個(gè)元音字母之前的單詞,移動(dòng)到詞尾,移動(dòng)完畢之后再在新組成的單詞詞尾添加“ay”。
例如:給定單詞banana,那么變換之后成為ananabay;給定單詞three,經(jīng)過(guò)變換之后成為eethray
1 package demo_2015_11_16;
2
3 import java.util.Scanner;
4
5 public class DEMO {
6
7 /**
8 * 拉丁豬文字游戲
9 * @param args
10 */
11 public static void main(String[] args) {
12 String vowels = "aeiou";
13 Scanner s = new Scanner(System.in);
14 String srcStr = s.nextLine();
15 System.out.println("你輸入的是:" + srcStr);
16
17 StringBuilder retainStr = new StringBuilder();
18
19 char[] srcChars = srcStr.toCharArray();
20 int returnIdx = 0;
21 int tempIdx = 0;
22 for (int i = 0; i < srcChars.length; i++) {
23 tempIdx = vowels.indexOf(String.valueOf(srcChars[i]).toLowerCase());
24 //當(dāng)前位置是否是元音
25 if(tempIdx != -1){
26 //元音,終止,截取
27 returnIdx = i;
28 break;
29 }else{
30 //輔音,保留 ,跳過(guò)
31 retainStr.append(srcChars[i]);
32 continue;
33 }
34 }
35 System.out.println(srcStr.substring(returnIdx) + retainStr.toString() + "ay");
36 }
37
38 }
39
2
3 import java.util.Scanner;
4
5 public class DEMO {
6
7 /**
8 * 拉丁豬文字游戲
9 * @param args
10 */
11 public static void main(String[] args) {
12 String vowels = "aeiou";
13 Scanner s = new Scanner(System.in);
14 String srcStr = s.nextLine();
15 System.out.println("你輸入的是:" + srcStr);
16
17 StringBuilder retainStr = new StringBuilder();
18
19 char[] srcChars = srcStr.toCharArray();
20 int returnIdx = 0;
21 int tempIdx = 0;
22 for (int i = 0; i < srcChars.length; i++) {
23 tempIdx = vowels.indexOf(String.valueOf(srcChars[i]).toLowerCase());
24 //當(dāng)前位置是否是元音
25 if(tempIdx != -1){
26 //元音,終止,截取
27 returnIdx = i;
28 break;
29 }else{
30 //輔音,保留 ,跳過(guò)
31 retainStr.append(srcChars[i]);
32 continue;
33 }
34 }
35 System.out.println(srcStr.substring(returnIdx) + retainStr.toString() + "ay");
36 }
37
38 }
39
posted on 2015-11-16 16:27 都較瘦 閱讀(670) 評(píng)論(0) 編輯 收藏 所屬分類: Java相關(guān)案例積累