我试图根据用户的输入确定要计算的公式.当它们都被{}关闭时它起作用,但是当整个语句关闭时,我的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)
它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'看到'变量.