![](/img/trans.png)
[英]How to translate English into PigLatin with java (using boolean and string)
[英]Java convert to English to Piglatin using array
我想編寫一個程序來使用 Java 將英語轉換為 Piglantin,但與傳統方式不同,我想將元音存儲在數組中......但顯然這不起作用,我明天有我的板,這會很有幫助如果你能指出我的錯誤......這是程序片段
class Piglatin_2
{
public static void main(String s)
{
s = s.toUpperCase();
char c[] = {'A', 'E', 'I', 'O', 'U'};
String a = "";
for(int i = 0; i < s.length(); i++)
{
for(int j = 0; j < 5; j++)
{
if(s.charAt(i) == c[j])
{
a = s.substring(i) + s.substring(0, i) + "AY";
break;
}
}
}
System.out.println("Piglatin:"+a);
}
}
我使用字符串“London”作為輸入。 假設的輸出應該是“ONDONLAY”但我得到“ONLONDAY”
我認為當你break
,你必須跳出兩個循環。 現在你的break
語句只跳出內部循環。 嘗試這個:
public static void main_other(String s)
{
s = s.toUpperCase();
char c[] = {'A', 'E', 'I', 'O', 'U'};
String a = "";
outerloop:
for(int i = 0; i < s.length(); i++)
{
for(int j = 0; j < 5; j++)
{
if(s.charAt(i) == c[j])
{
a = s.substring(i) + s.substring(0, i) + "AY";
break outerloop;
}
}
}
System.out.println("Piglatin:"+a);
}
首先,您的主要方法必須采用一系列字符串,就像邁克爾的評論所說。 如果您嘗試翻譯每個單詞,這也對您有利。 如果你用一個句子作為參數運行你的程序,你的 args[] 數組將包含每個被空格分割的單詞。 例如,如果你的句子是“Hello World”並且你運行它
$ java -jar myapplication.jar hello world
那么你的 args 數組看起來像
args[0] = hello
args[1] = world
從那里你應該能夠遍歷數組並將每個單詞翻譯成豬拉丁語。
[意見] 如果你只是想有一個腳本來傳遞一個句子並返回豬拉丁語,使用 Java 是一種在高速公路上降落 747 的線路。 如果您使用的是 unix,您可能想要使用類似 python 甚至 shell 腳本的東西。 否則,您可以考慮使用一個循環來保持程序運行並使用 BufferedReader 接收輸入,這樣您就可以繼續翻譯句子,直到程序結束。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.