Java IF 语句无法正常工作



我的 if 语句有一些问题。错误显示此问题你能帮我弄清楚它有什么问题吗?主要任务是汽车保险公司根据申请人的年龄和性别有 4 类保险。

这是代码:

String gender, age;
char group;
int genderint, ageint;
gender = JOptionPane.showInputDialog("Please specify your gender(1 for male, 0 for female)");
age = JOptionPane.showInputDialog("Please enter your age");
genderint = Integer.parseInt(gender);
ageint = Integer.parseInt(age);
if (gender = 0 || 1 && age = > 18 && < 26) {
    group = "Category A";
} else if (gender = 0 && age = > 27 && < 60) {
    group = "Category B";
} else if (gender = 1 && age = > 27 && < 60) {
    group = "Category C";
} else if (gender = 0 || 1 && age = > 60) {
    group = "Category D";
} else if (gender = 0 || 1 && age = < 18) {
    JOptionPane.showMessageDialog(null, "Sorry, you're too young");
}
JOptionPane.showMessageDialog(null, "You have been assignet to" + group);
}
}

试试这个,

  • 使用==进行比较
  • <=>=之间没有空间
  • 括号中的组or条件
  • 对每个比较使用单独的变量
  • 使用<=而不是=<,使用>=而不是=>
  • 使用 genderintageint 变量进行 int 比较

    if ((genderint == 0 || genderint ==1) && (ageint >=18 && ageint < 26)) {
        group = "Category A"; 
    } else if(genderint == 0 && ageint >= 27 && ageint < 60){
        group = "Category B"; 
    } else if(genderint == 1 && ageint >= 27 && ageint < 60) {
        group = "Category C"; 
    } else if((genderint == 0 || genderint == 1) && ageint >= 60) {
        group = "Category D";
    } else if((genderint == 0 || genderint ==1) && ageint <18){
        JOptionPane.showMessageDialog(null,"Sorry, you're too young"); 
    }
    

首先要做的是...

  1. 在 if 条件下,将= >替换为>==<替换为 <==替换为 ==(比较性别时(。
  2. 性别是string的,在java字符串中,通过.equals()而不是"=="进行比较。

您在那里有几个问题:

  • 运算符写= < <=(没有空格,=<之后(;= >也是如此(即 >= (
  • gender = 0 || 1需要genderint == 0 || genderint == 1
  • age = >27 && <60应该age >= 27 && age < 60

首先,您应该在条件中使用genderintageint

其次,您似乎正在发明一些不存在的运算符:

  • gender = 0 || 1应该(genderint == 0 || genderint == 1) - 比较需要==

  • age = >18 && <26ageint >= 18 && ageint < 26 - 大于或等于>=

    //gender is string
    if ((gender.equals("0") || gender.equals("1")) && (ageint >= 18 && ageint < 26))
    {
        //group is string
        group = "Category A";
    }

相关内容

  • 没有找到相关文章

最新更新