我试图获得一个while循环程序,它计算元音的数量并从句子中取出元音,也重复这个过程,直到用户输入退出。我无法让while循环工作。
import java.util.Scanner;
public class blank1
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("Enter a Sentence: (Enter quit to exit) ");
String input1 = input.nextLine();
int vowelCount = 0;
while(input.equals("quit")){
System.out.println("Enter a Sentence: (Enter quit to exit) ");
for (char c : input1.toCharArray())
{
switch(c)
{
case 'A':
case 'a':
case 'E':
case 'e':
case 'I':
case 'i':
case 'O':
case 'o':
case 'U':
case 'u':
vowelCount++;
System.out.println(vowelCount);
}
}
}
}
}
答案 0 :(得分:1)
你需要:
while (! input.equals("quit")) {
println(vowelCount)
println("Enter ...")
input1 = input.nextLine()
vowelCount = 0
要在两个地方不要打印+ nextLine,请尝试改为:
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("Enter a sentence: (Enter quit to exit) ");
String text = input.nextLine();
if (text.equals("quit"))
break;
int vowelCount = 0;
for (char c : text.toCharArray())
switch (c) {
case 'A': case 'a':
case 'E': case 'e':
case 'I': case 'i':
case 'O': case 'o':
case 'U': case 'u':
vowelCount++;
}
System.out.println("Found " + vowelCount + " vowels");
}
答案 1 :(得分:0)
您正在循环,而输入等于"退出"。相反,你想循环,而输入不等于"退出"。
答案 2 :(得分:0)
更改while循环的签名
来自
while(input.equals("quit"))
到
while( ! input.equals("quit"))