我遇到了一些我正在为家庭作业做的代码问题,当我第二次输入这个单词时,它不会重复。我对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();
}
}
答案 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();
参与任何类型的循环。所以你不能期望代码以其他方式运行。把它包括在一起,你应该做得很好。上面已经回答了一个经过良好修改的例子。