【发布时间】:2013-12-19 16:59:27
【问题描述】:
我应该编写一个程序来处理用户输入并将其翻译成 Pig Latin 并打印出来。我翻译成猪拉丁语的指令是:
Pig Latin 是英语,首字母移到每个单词的末尾,然后是“ay”。以元音开头的单词只是附加了一个“ay”。例如,短语 最深的蘑菇蓝 在 Pig Latin 中将有以下外观: e-Thay 最重要的一天 ade-shay of-ay ushroom-may ue-blay
所以我写了这个程序:
import java.util.Scanner;
public class Nothing
{
public static void main(String args[])
{
System.out.println("Enter sentence that has to be translated into Pig Latin ");
Scanner console = new Scanner(System.in);
String token = console.next();
String translated = processToken(token) + " ";
while(console.hasNext())
{
token = console.next();
translated = translated + processToken(token) + " ";
}
System.out.println(translated);
}
public static String processToken(String token)
{
String processed = "";
if(!(fC(token) == 'a' || fC(token) == 'e' || fC(token) == 'i' || fC(token) == 'o' || fC(token) == 'u' || fC(token) == 'y'))
{
if(fC(token) != 't')
{
processed = token.substring(1) + "-" + token.charAt(0) + "ay";
}
else
{
processed = token.substring(2) + "-" + token.substring(0, 2) + "ay";
}
}
else
{
processed = token + "-ay";
}
return processed;
}
public static char fC(String token) //returns first character in lowercase
{
return Character.toLowerCase(token.charAt(0));
}
}
它不起作用:(我输入了输入但它没有做任何事情:/我在扫描仪中用一个简单的字符串而不是 System.in 对其进行了测试,它起作用了。请帮助我!
【问题讨论】:
-
做一些调试。至少你应该考虑在你的代码中添加 println's 看看发生了什么。
-
显示您在控制台中输入的内容。
-
随便随便写几个字,没关系,应该万能的。
标签: java input java.util.scanner