簡體   English   中英

Java IF語句無法正常工作

[英]Java IF statements not working properly

我的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 gender = 0 || 1必須為genderint == 0 || genderint == 1 genderint == 0 || genderint == 1
  • age = >27 && <60應該是age >= 27 && age < 60

首先,你應該使用genderintageint在你的條件。

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

  • gender = 0 || 1 gender = 0 || 1應該是(genderint == 0 || genderint == 1) -比較需要==

  • age = >18 && <26應該為ageint >= 18 && ageint < 26大於或等於>=

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM