问:咋样改动才能正确输出saleAmount?
class FindSalesAmount2
{
public static void main(String[] args)

  double salesAmount=0;
  System.out.println("Please enter commsion:");
  double commsion=0;
  commsion=MyInput.readDouble();
    
           if(salesAmount>10000)
              commsion=5000*0.08+5000*0.1+(salesAmount-10000)*0.12+5000;
           if(salesAmount>5000)
              commsion=5000*0.08+(salesAmount-5000)*0.1+5000;
           else
              commsion=(salesAmount-5000)*0.08+5000;
              
   System.out.println("The salesamount is $"+salesAmount);   
}
  
}

解决方案 »

  1.   

    commsion=MyInput.readDouble(); commsion=5000*0.08+5000*0.1+(salesAmount-10000)*0.12+5000; System.out.println("The salesamount is $"+salesAmount);    会不会搞反了?
    salesAmount=MyInput.readDouble(); 
    commsion=5000*0.08+5000*0.1+(salesAmount-10000)*0.12+5000; 
    System.out.println("The salesamount is $"+commsion);   或者
    salesAmount=5000*0.08+5000*0.1+(commsion-10000)*0.12+5000; 
      

  2.   


    class FindSalesAmount2 

    public static void main(String[] args) 
    {  
      double salesAmount=0; 
      System.out.println("Please enter commsion:"); 
      double commsion=0; 
      commsion=MyInput.readDouble(); 
         
               if(salesAmount> 10000) 
                  commsion=5000*0.08+5000*0.1+(salesAmount-10000)*0.12+5000; 
               else if(salesAmount> 5000) 
                  commsion=5000*0.08+(salesAmount-5000)*0.1+5000; 
               else 
                  commsion=(salesAmount-5000)*0.08+5000; 
                   
       System.out.println("The salesamount is $"+salesAmount);    

       
    }
      

  3.   

     if(commsion> 10000) 
    salesAmount=5000*0.08+5000*0.1+(commsion-10000)*0.12+5000; 
      

  4.   

    数学表达式转换一下 left-hand operand 换成salesAmount
    或者用牛顿迭代法来求
      

  5.   

    我看到楼主的程序,从头到尾都没有改变saleAmount啊,所以输出当然就不会变了
      

  6.   

    import java.util.*;
    class FindSalesAmount2 

    public static void main(String[] args) 
    {  
      double salesAmount=0; 
      double commsion=0;
      
      System.out.println("Please enter commsion:"); 
      Scanner MyInput=new Scanner(System.in);
      commsion=MyInput.nextDouble(); 
         
               if(commsion>10000) 
                  salesAmount=5000*0.08+5000*0.1+(commsion-10000)*0.12+5000; 
               if(commsion>5000|commsion<=10000) 
                  salesAmount=5000*0.08+(commsion-5000)*0.1+5000; 
               else 
                  salesAmount=(commsion-5000)*0.08+5000; 
                   
       System.out.println("The salesamount is $"+salesAmount);    

       
    }是不是这样?上面的程序我编译过了,没问题。
    你是不是想输入commsion然后判断commsion的值的范围,然后计算出salesAmount?
    如果是这个意思的话,那上面的程序可能是你想要的。
      

  7.   


       谢谢你的答复,你的程序可以执行,但不是我想要的
           我要的是输入commsion然后判断commsion的值,计算salesAmount....
       原来的程序程序是下面的,执行速度慢,改动了下,有键盘的输出。 class FindSalesAmount
    {
        public static void main(String[] args)

                double salesAmount=0;
        double commsion;
        final double SALESAMOUNT_SOUGHT=30000;
        while(salesAmount<SALESAMOUNT_SOUGHT) 
           {            if(salesAmount>10000)
                  commsion=5000*0.08+5000*0.1+(salesAmount-10000)*0.12+5000;
               if(salesAmount>5000)
                  commsion=5000*0.08+(salesAmount-5000)*0.1+5000;
               else
                  commsion=(salesAmount-5000)*0.08+5000;
               salesAmount++;         
          }    System.out.println("The salesamount is $"+salesAmount);   
    }
      
    }