2016-09-26 96 views
-4

我試圖抓住用戶輸入的第一個字符,並確定它是否爲元音。我很新,並且一直在努力。我試圖將所有元音添加到變量「元音」中,這不僅顯然不起作用,而且我覺得我要走很長的路。任何幫助都非常讚賞,因爲我對此很新。如果語句幫助(noob)

entry = scanner.nextLine(); 
letters = entry.substring(0,1); 
holder = entry.substring(1); 
vowels = "A"; 


if (entry.substring(0,1).equals(vowels)) { 
    pigLatinVowel = entry + "way"; 
    System.out.println(pigLatinVowel); 
} 
+0

'substring'返回包容排斥,因此,你的子字符串將一無所獲。 – Li357

+0

我看到的第一個問題是你的變量都沒有類型。例如,對於該行,您將''''「A」'''分配給'''元音''',它應該是'''元音元音=「A」'''。由於你所有的變量都是字符串,你應該爲它們做所有的變量。然後這段代碼只適用於以大寫字母A開頭的輸入字符串。編輯:假設您已經修復了由Andrew L –

+1

陳述的問題,您不會顯示哪種類型的元音。你「不斷添加元音到變元音」。也許看看http://stackoverflow.com/help/how-to-ask – John3136

回答

1

首先,因爲你只想要一個字符,不要用字符串的方法,即使用entry.charAt(0) == 'A'代替entry.substring(0,1).equals("A")

有了這一點,那麼你可以把它圍:

"AEIOU".indexOf(entry.charAt(0)) 

如果可以找到在entry變量位置0的字符,indexOf()返回索引位置(從零開始),否則返回 - 1。

所以,看它是否是一個元音,這樣做:

if ("AEIOU".indexOf(entry.charAt(0)) != -1) { 
    pigLatinVowel = entry + "way"; 
    System.out.println(pigLatinVowel); 
}