为什么我的代码不会第二次运行?

时间:2015-01-06 19:14:20

标签: java

我遇到了一些我正在为家庭作业做的代码问题,当我第二次输入这个单词时,它不会重复。我对Java很新,所以任何帮助都会受到赞赏。感谢

class Main
{
    public static void main( String args[] )
    {
        System.out.print( "#Please enter a word : " );
        String word = BIO.getString();

        int i, length, vowels = 0;
        String j;
        length = word.length();
        for (i = 0; i < length; i++)
        {

            j = word.substring(i, i + 1);

            if (j.equalsIgnoreCase("a") == true)
                vowels++;
            else if (j.equalsIgnoreCase("e") == true)
                vowels++;
            else if (j.equalsIgnoreCase("i") == true)
                vowels++;
            else if (j.equalsIgnoreCase("o") == true)
                vowels++;
            else if (j.equalsIgnoreCase("u") == true)
                vowels++;
        }
        System.out.print("[  " + vowels + "] vowels in " + "\""+word+"\"");

        System.out.print("\n");

        System.out.print("#Please enter a word : ");
        word = BIO.getString();

    }
}

3 个答案:

答案 0 :(得分:2)

要获得预期的结果,您应该将代码嵌套在循环中。像这样:

class Main
{
public static void main( String args[] )
{
    System.out.print( "#Please enter a word : " );
    String word = BIO.getString();

    while(!word.equals("QUIT")){

        int i, length, vowels = 0;
        String j;
        length = word.length();
        for (i = 0; i < length; i++)
        {

            j = word.substring(i, i + 1);

            if (j.equalsIgnoreCase("a") == true)
                vowels++;
            else if (j.equalsIgnoreCase("e") == true)
                vowels++;
            else if (j.equalsIgnoreCase("i") == true)
                vowels++;
            else if (j.equalsIgnoreCase("o") == true)
                vowels++;
            else if (j.equalsIgnoreCase("u") == true)
                vowels++;
        }
        System.out.print("[  " + vowels + "] vowels in " + "\""+word+"\"");

        System.out.print("\n");

        System.out.print("#Please enter a word : ");
        word = BIO.getString();
    }

}

这样,您的代码将循环,直到您输入单词QUIT。

答案 1 :(得分:0)

执行第二次输入后程序终止。使用带有某种特殊输入的while(true)块(例如&#34;退出&#34;或空字符串)到break循环。

答案 2 :(得分:0)

while循环是实现您想要的最佳方式!如上所述,您尚未包含

System.out.print(&#34; #Please输入一个词:&#34;);         word = BIO.getString();

参与任何类型的循环。所以你不能期望代码以其他方式运行。把它包括在一起,你应该做得很好。上面已经回答了一个经过良好修改的例子。