这个游戏的规则我见过一种以上,这里就以维基百科的规则为案例来实现就好了。
规则大概是这样:给定一个单词,从左往右统计,将单词字母中第一个元音字母之前的单词,移动到词尾,移动完毕之后再在新组成的单词词尾添加“ay”。
例如:给定单词banana,那么变换之后成为ananabay;给定单词three,经过变换之后成为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 //当前位置是否是元音
25 if(tempIdx != -1){
26 //元音,终止,截取
27 returnIdx = i;
28 break;
29 }else{
30 //辅音,保留 ,跳过
31 retainStr.append(srcChars[i]);
32 continue;
33 }
34 }
35 System.out.println(srcStr.substring(returnIdx) + retainStr.toString() + "ay");
36 }
37
38 }
39