而Loop为元音计数器

时间:2015-09-29 01:41:12

标签: javascript java counter

我试图获得一个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);
                }
            }
        }
    }
}

3 个答案:

答案 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"))