感觉做对了,为什么没有输出?

感觉做对了,为什么没有输出?

public class DisCountDemo {

public void price(double sum){

   double price2;

        if(sum>=200){

       price2=sum*0.85;

   }else if(sum>=100){

       price2=sum*0.95;

   }else if(sum<100&&sum>=0){

       price2=sum;

      System.out.println("折后商品总价为:"+price2);

         }

        

         }    

public static void main(String[] args) {

           //定义对象

DisCountDemo s =new DisCountDemo();

 //定义商品总价存放到变量中

int things=150;

          //调用方法,输出折后商品总价

s.price(things);

        }


        }


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

else if(sum<100&&sum>=0){

price2=sum;

System.out.println("折后商品总价为:"+price2);

}
因为你的输出语句被包含在了这个if语句里,然而你给的sum值并不符合这条语句所以没有执行,而是满足的符合条件的if。你应该把输出语句写在外面而不是if语句里

  • 陆小仙 提问者 #1
    因为放在里面就只是那个语句的局部变量,它出了那个大括号就无效了。把输出放在外面之后也是没有输出,提示让我初始化 float price;,,这个我就不明白了
    2017-10-24 00:07:38
  • SuperAIStar 回复 提问者 陆小仙 #2
    你没有给price2赋初值
    2017-10-24 00:13:08
  • SuperAIStar 回复 提问者 陆小仙 #3
    double price2=0;需要给变量赋初值这样才会安全。这样把输出语句写到外面就可以了。或者你在每条if中写个输出语句。。。。。。。
    2017-10-24 00:15:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师