私のプログラムを終了していますが、まだ答えが見つからないような問題が残っています。私は既に尋ねられた質問を見てきましたが、私はこのケースで私の質問に具体的に答える何かを見つけることができませんでした。これは、ユーザーが文字列を入力して母音や子音の数などを数えるプログラムです。この後、ユーザーはyを押すとプログラムを繰り返し、新しい文字列を入力するオプションが表示されます。彼/彼女はn等を押す。ユーザがyを押してプログラムを繰り返すと、0の母音と子音があることが表示されます。私はそれが自分のコードの始めに何かあることを知っていますここで私はint consonant_count = 0を持っていますが、私はちょうど何を動かすのかとどこを動かすのか分かりません。 Ps。これは、nextLineが問題であることを知らなかったので、重複としてフラグを立てるべきではありません。ここでは、コードは次のようになります。Java、プログラムの先頭からループが始まらない
import java.util.Scanner;
public class loop2
{
public static void main (String[] args)
{
Scanner inputReader = new Scanner (System.in);
char result='y';
do {
// ’Nytto’-kod:
int vowels_count = 0;
int consonents_count = 0;
int charachters_count= 0;
System.out.println("Skriv in en text");
String str = inputReader.nextLine();
String str2 = str.toLowerCase();
char[] chr = str2.toCharArray();
for(int i=0;i<chr.length;i++)
{
if(chr[i] == 'a' || chr[i]== 'e' || chr[i] == 'i' || chr[i] == 'o' || chr[i] == 'u')
vowels_count++;
else if(chr[i] == '-' || chr[i] == '!' || chr[i] == '?' || chr[i] == ',' || chr[i] == '.' || chr[i] == ':' || chr[i] == ';')
charachters_count++;
else
consonents_count++;
}
System.out.println("Antalet vokaler:"+vowels_count+ " "+"Antalet konsonanter:"+consonents_count+" "+"Antalet interpunktionstecken:"+charachters_count++);
// Kod f ̈or hantering av repetition
System.out.println ("För att upprepa: Skriv y");
System.out.println ("För att avsluta: Skriv n");
String repeat=inputReader.next();// H ̈amta anv ̈andarens svar.
result=repeat.charAt(0);
if(result=='y')
{
continue;
}
else if(result !='y' && result !='n')
{
System.out.println("Du får bara skriva y eller n, försök igen!");
result='y';
}
else
{
System.out.println ("Klart.");
inputReader.close();
}
}
while (result == 'y'); // Observera semikolon!
}
}
0私はまた、ユーザーの入力がyよりも何か他のものである場合や、同じことが起こることを追加する必要がありますnを入力すると、プログラムを再試行するように指示するメッセージが表示され、プログラムはそれ自体を繰り返す必要があります。 – mackanmorre
"aeiou" .indexOf(z)<0母音をテストする方が良い、2番目のテストのためのidem – azro