gpt4 book ai didi

java - 我的 if-else 语句有什么问题?

转载 作者:行者123 更新时间:2023-12-02 08:29:40 25 4
gpt4 key购买 nike

我制作了这个简单的 GUI 程序,用于计算特定字符序列的元音和辅音。计数器没问题,但我在 if-else 语句中遇到问题,当该字符既不是元音也不是辅音时,我必须显示一条消息......这是代码:

//I initialized these variables:

public static int vowels = 0, consonants = 0, charac = 0;
public static String outputStr;
public static String conso = "bcdfghjklmnpqrstvwxyz";
public static String vow = "aeiou";

//Here's the code for my "count" button
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String userInput = jTextField1.getText();
userInput = userInput.toUpperCase();
conso = conso.toUpperCase();
vow = vow.toUpperCase();
String wordInput[] = userInput.split("");

vowels = 0;
consonants = 0;
charac = 0;

for(int i=0; i<wordInput.length; i++) {
for(int j=0; j<5; j++) {
char v = vow.charAt(j);
String VL = Character.toString(v);
if(VL.equals(wordInput[i])) {
vowels ++;
charac = 0;}
else {
charac += 1; }
}

for(int h=0; h<21; h++) {
char c = conso.charAt(h);
String CL = Character.toString(c);
if(CL.equals(wordInput[i])) {
consonants ++;
charac = 0; }
else {
charac += 1; }
}

}

String totalVow = Integer.toString(vowels);
String totalCons = Integer.toString(consonants);

jLabel5.setText(totalVow);
jLabel6.setText(totalCons);


//here's the if-else statement:

if (charac == 0) {
jLabel7.setText(" ");
}
else if (charac >= 1) {
jLabel7.setText("The sequence contains invalid characters.");
}
if (userInput.isEmpty()) {
jLabel7.setText("No input.");
}
}

它看起来像这样:

enter image description here

我输入了一个不包含任何特殊字符或数字的字符“序列”。但它仍然显示消息,其中包含除元音和辅音之外的其他字符。 if-else 语句有问题吗?感谢您的帮助:)

最佳答案

问题出在内部 for 循环中。每个字符都用 5 个不同的元音进行测试,因此肯定会无法匹配至少 4 个元音,并且 charac 将递增

for(int j=0; j<5; j++) {
char v = vow.charAt(j);
String VL = Character.toString(v);
if(VL.equals(wordInput[i])) {
vowels ++;
charac = 0;}
else {
charac += 1;
}
}

相反,您可以使用 String.contains() 方法代替内部循环。

关于java - 我的 if-else 语句有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19068912/

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