わかりましたので、基本的に、これが機能すると思うように機能しない理由を見つけるのに苦労しており、正しい出力を得るために助けが必要です。私はこの形式をいくつかいじってみましたが、何も機能せず、その理由が本当にわかりません。手順は次のとおりです。その後に私のソースが続きます。
手順
文字列が "land"、"air"、または "water" のいずれかである標準入力から文字列を読み取るループを作成します。"xxxxx" (5 つの x 文字) が読み込まれると、ループは終了します。その他の文字列は無視されます。ループの後、コードは 3 行を出力する必要があります。最初の行は文字列「land:」の後に読み込まれた「land」文字列の数で構成され、2 番目の行は文字列「air:」の後に「 air" 文字列が読み込まれ、3 番目の文字列は "water:" 文字列で構成され、その後に読み込まれた "water" 文字列の数が続きます。これらはそれぞれ別の行に出力する必要があります。
標準入力に関連付けられた Scanner オブジェクトを参照する変数 stdin が使用可能であると仮定します。
ソース:
int land = 0;
int air = 0;
int water = 0;
do
{
String stdInput = stdin.next();
if (stdInput.equalsIgnoreCase("land"))
{
land++;
}else if (stdInput.equalsIgnoreCase("air"))
{
air++;
}else if (stdInput.equalsIgnoreCase("water"))
{
water++;
}
}while (stdin.equalsIgnoreCase("xxxxx") == false); // I think the issue is here, I just dont't know why it doesn't work this way
System.out.println("land: " + land);
System.out.println("air: " + air);
System.out.println("water: " + water);