Java Else在计算销售金额时无IF错误

Java Else在计算销售金额时无IF错误,java,Java,在尝试计算以下内容时,我得到了无If错误的else: 你刚开始在一家百货公司做销售工作。你的工资包括基本工资和佣金。基本工资是5000英镑。下面所示的方案用于确定佣金率。 销售额佣金率 0.01–5000 8% 5000.01–10000 10% 10000.01及12%以上 你的目标是一年挣30000英镑。编写一个程序,找出你要达到30000美元的最低销售额 虽然我还不确定我的算法是否正确,因为我需要先解决错误。多谢各位 import java.util.Scanner; public cla

在尝试计算以下内容时,我得到了无If错误的else: 你刚开始在一家百货公司做销售工作。你的工资包括基本工资和佣金。基本工资是5000英镑。下面所示的方案用于确定佣金率。 销售额佣金率 0.01–5000 8% 5000.01–10000 10% 10000.01及12%以上 你的目标是一年挣30000英镑。编写一个程序,找出你要达到30000美元的最低销售额

虽然我还不确定我的算法是否正确,因为我需要先解决错误。多谢各位

import java.util.Scanner;
public class Commissionsales {
    public static void main(String[] args) {
        // create scanner
        Scanner s = new  Scanner(System.in);
        double  saleAmount = s.nextDouble();
        double   salary = 5000;
        int   target = 30000;
        int sale = 0;
        while (salary<=target){
            if(saleAmount<5000){

                double  commissionrate = 0.08;
                double commission  = commissionrate*saleAmount;
                salary+=commission;
                sale++;
            }
            System.out.println("The  minimum  sales  needed  to  earn 30,000:"+ sale);
            break;

            else if ((5000<saleAmount) && (saleAmount<10000))
            {
                double    commissionrate = 0.10;
                double commission = commissionrate*saleAmount;
                salary+=commission;  
                sale++;
            }   
            System.out.println("The  minimum  sales  needed  to  earn 30,000:"+ sale);
            break;
            else if (saleAmount>10000){
                double commissionrate = 0.12;
                double commission =commissionrate*saleAmount;
                salary+=commission;
                sale++;
            }
            break;

        }
        System.out.println("The  minimum  sales  needed  to  earn 30,000:"+ sale);
    }
}
import java.util.Scanner;
公共类佣金销售{
公共静态void main(字符串[]args){
//创建扫描仪
扫描仪s=新的扫描仪(System.in);
双倍销售额=s.nextDouble();
双薪=5000;
int目标=30000;
国际销售=0;

而(salary您不能以这种方式拥有
System.out.println

...
}
System.out.println("The  minimum  sales  needed  to  earn 30,000:"+ sale);
break;
else if ((5000<saleAmount) && (saleAmount<10000))
{
....
。。。
}
System.out.println(“赚取30000英镑所需的最低销售额:“+销售额”);
打破

否则如果((5000)在
if
子句和
else
子句之间不能有语句。请将打印语句移到其中一个块中。尝试正确缩进代码,您应该能够看到您的
else
没有正确地跟随
if
子句。感谢您的更正。此外,还有else if错误和错误删除break语句,您能帮我检查一下吗,似乎销售数量超过了一次。另外,为什么它只会与break语句一起运行一次?现在,我看到您阅读了
saleAmount=s.nextDouble()
只有一次,在
循环之前,而
循环。如果你想看到其他销售,你需要在循环内部进行读取。另一个错误是,如果
saleAmount==5000
saleAmount==10000
则没有
if
案例来处理它。