Java如果Else语句错误

Bri*_*ley 2 java if-statement

我试图根据用户的输入确定要计算的公式.当它们都被{}关闭时它起作用,但是当整个语句关闭时,我的System.out.print不能识别它们.目前if语句周围没有括号.并且它声明已在主字符串中定义了totalSalary.感谢您的时间和意见.

    if(annualSales >= 96000)
    {
     double totalSalary = annualPay + advCommission;
    if(annualSales <= 95999)
    { 
     double totalSalary = annualPay + commission;



    //prints table for display   
    //Columns
    System.out.print("SalesPerson\t");
    System.out.print("AnnualSales\t");
    System.out.print("Commission\t "); 
    //Columns
    System.out.print("Total Salary\t");System.out.println("Difference from user");

    //user input
    System.out.print(firstName);System.out.print("\t\t");
    System.out.println(annualSales); System.out.print(commission); 
    System.out.print(totalSalary);System.out.println("Difference from user");
    //preset 1
    System.out.print(presetSalesPerson[0]);
    System.out.print("\t\t");
    System.out.println(presetAnnualSales[0]);             System.out.print("Commission\t "); 
    System.out.print(totalSalary);System.out.println("Difference from user");
//preset 2
    System.out.print(presetSalesPerson[1]);System.out.print("\t\t");
     System.out.println(presetAnnualSales[1]);   System.out.print("Commission\t "); 
    System.out.print(totalSalary);System.out.println("Difference from user");
Run Code Online (Sandbox Code Playgroud)

Cub*_*key 9

totalSalary已经定义,因为你不能创建两次变量(这是你在if语句中尝试的).除了这个问题,我建议你修复大括号,然后再试一次:

 double totalSalary = 0;

 if(annualSales >= 96000){
     totalSalary = annualPay + advCommission;
 }
 if(annualSales <= 95999){
     totalSalary = annualPay + commission;
 }
Run Code Online (Sandbox Code Playgroud)

或者,以更好的格式:

double totalSalary = 0;

if(annualSales >= 96000){
    totalSalary = annualPay + advCommission;
}
else{
    totalSalary = annualPay + commission;
}
Run Code Online (Sandbox Code Playgroud)

将你double totalSalary的if语句拉出来也会让你的SysOuts'看到'变量.