2016-09-26 6 views
-4

私はユーザーのエントリから最初の文字を取得しようとしていたし、母音であるかどうかを判断していた。私は非常に新しいですし、しばらくの間これを苦労しています。私はすべての母音を変数 '母音'に追加しようとしています。明らかにうまくいかないだけでなく、私は長い道のりを向いているように感じます。私はこれに非常に新しいので、どんな助けも非常に高く評価されます。If文のヘルプ(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

を '。 – Li357

+0

私が見る最初の問題は、あなたの変数に型がないことです。例えば、 '' '' 'vowels''に' '' '' '' '' '' 'を' '' 'vowels''を代入した行に対しては、' '' '' '' '' '' '' 'すべての変数が文字列であるため、すべての変数を文字列にする必要があります。その後、このスニペットは大文字Aで始まる入力文字列に対してのみ機能します。編集:Andrew Lが述べた問題を修正したと仮定します。 –

+1

あなたはどのような型母音を表示しません。あなたは "母音を変数母音に追加し続ける"。おそらくhttp://stackoverflow.com/help/how-to-askを見てください。 – John3136

答えて

1

まず、あなただけの1つの文字をしたいために、文字列のメソッドを使用していない、すなわちentry.charAt(0) == 'A'の代わりentry.substring(0,1).equals("A")を使用しています。それと

、あなたはその後、それを好転させることができます。

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

entry変数内の位置0で文字がそれ以外の場合はを返し、インデックス位置(ゼロベース)を返すindexOf()、見つけることができる場合 - 1。それが母音であれば

ので、見て、次の操作を行いますので、あなたの部分文字列が何を取得していない、排他的に包括返しsubstring`

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