【发布时间】:2017-05-19 12:14:58
【问题描述】:
我对java很陌生,我想知道你是否可以帮助我。这是我的代码:
public static void main(String[] args) {
int vowels = 0;
Scanner input = new Scanner(System.in);
System.out.println ("Enter a string: ");
String string = input.nextLine();
int length = string.length();
for (int i = 0; i <= length; i++) {
String letter = string.substring(i, ++i);
if (letter.equalsIgnoreCase("a")){vowels++;}
if (letter.equalsIgnoreCase("e")){vowels++;}
if (letter.equalsIgnoreCase("i")){vowels++;}
if (letter.equalsIgnoreCase("o")){vowels++;}
if (letter.equalsIgnoreCase("u")){vowels++;}
}
System.out.println ("The number of vowels in " + string + " is: " + vowels);
}
号码是关闭的,但我不知道为什么。
【问题讨论】:
-
格式化代码并提出问题
-
减多少?总是错误的吗?向我们展示一些示例输入和相应的输出。作为一般建议,我会尝试在
for循环中添加更多System.out.println()语句。例如,也许在String letter...行之后,您可以输出它正在考虑的字母,并且在所有if语句之后,您可以输出到目前为止它计算了多少个元音。这可能会引导您找到问题的根源。 -
当问题陈述很简单时,很难提供解决方案,“它不起作用”。请edit您的问题更完整地描述您预期会发生什么以及这与实际结果有何不同。请参阅 How to Ask 以获取有关什么是好的解释的提示。