gpt4 book ai didi

java - 为什么我的 for 循环在检查元音时在第一个元素之后退出? java

转载 作者:行者123 更新时间:2023-12-01 17:59:24 25 4
gpt4 key购买 nike

我是 for 循环和增强型 for 循环的新手,所以也许有人可以帮助澄清为什么我的用于检查元音的增强型 for 循环仅在退出循环之前检查第一个元素?

我在 for 循环下面放置了一个 println(vowel) 来测试其输出,然后再检查输入,它只拉动“A”。辅音都工作得很好,所以我现在有点困惑。

任何可以为我指明正确方向或帮助我理解的内容都将不胜感激。

谢谢!

导入java.util.Scanner;

公共(public)类 WordStart {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

char[] consonants = {'B','C','D','F','G','H','J','K','L','M','N','P','Q','R','S','T','V','W','X','Y','Z'};
char[] vowels = {'A','E','I','O','U'};
System.out.println("Please enter a word: ");
String word=in.nextLine();
char firstLetter=(Character.toUpperCase(word.charAt(0)));
int found = -1;




for (char vowel: vowels)
{//System.out.println(vowel);
if (firstLetter == vowel)
{
found = 1;
if (found==1)
{
System.out.print(firstLetter+" is a vowel.\n");
System.exit(0);
}

}
for (char consonant: consonants)
{
if (firstLetter == consonant)
{
found = 2;
{
if (found==2)
{
System.out.print(firstLetter+" is a consonant.\n");
System.exit(0);

}

}
}
}
if (found<=0)
{
System.out.println(firstLetter+" is not a vowel or consonant.\n");
System.exit(0);
}

}

这是正确的代码:

导入java.util.Scanner;公共(public)类 WordStart {

public static void main(String[] args) {
Scanner in=new Scanner(System.in);

char[] consonants = {'B','C','D','F','G','H','J','K','L','M','N','P','Q','R','S','T','V','W','X','Y','Z'};
char[] vowels = {'A','E','I','O','U'};
System.out.println("Please enter a word: ");
String word=in.nextLine();
char firstLetter=(Character.toUpperCase(word.charAt(0)));
int found=0;

for (char vowel:vowels)
{
if(firstLetter==vowel)
{
found=1;
System.out.println(firstLetter+" is a vowel.");
System.exit(0);

}
}

for (char consonant: consonants)
{
if (firstLetter == consonant)
{
found = 2;
System.out.print(firstLetter+" is a consonant.\n");
System.exit(0);
}
}
if (found<=0)
{
System.out.println(firstLetter+" is not a vowel or consonant.\n");
System.exit(0);
}
}

}

格式根本不正确。清理完代码后我发现问题出在我自己的粗心上。

谢谢大家!

最佳答案

如果您希望程序继续执行,则需要删除 System.exit(0); 语句。

尝试更换

System.exit(0);

中断;

它将停止执行当前的 for 循环并开始下一个循环。

关于java - 为什么我的 for 循环在检查元音时在第一个元素之后退出? java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42232631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com