请问老师帮我看下还有哪里需要修改的吗

请问老师帮我看下还有哪里需要修改的吗

public class DisCountDemo {
    public void sum (double n){
        double sum;
        sum=0;
        if(n<100){
            sum=n;
        }if(n<199&n>=100){
            sum=0.95*n;
        }if(sum>=200){
            sum=0.85*n;
        }
       
        System.out.println("折后商品总价为"+sum);
    }
    
   
 public static void main(String[] args) {
     DisCountDemo disCountDemo=new DisCountDemo();
     double a=150;
     disCountDemo.sum(a);


正在回答

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

1回答

运行结果符合要求,但是建议同学将if判定改为:

if(n<100){
            sum=n;
        }else if(n<199&n>=100){
            sum=0.95*n;
        }else if(sum>=200){
            sum=0.85*n;
        }

这个结构更加严谨,执行效率更高。

祝学习愉快!

  • 李个浪 提问者 #1
    一直不能区分else if和if,总是感觉不出来这两个的的区别和什么时候改用哪个,老师能给我解答下吗
    2018-09-19 18:59:18
  • 一叶知秋519 回复 提问者 李个浪 #2
    多个if是所有的if都会进行判断;if else if是只要有满足条件的,就不再对之后的else if进行判断,由于这个题目是针对同一个内容进行分条件判断,所以使用else if就可以啦~祝学习愉快!
    2018-09-19 19:01:06
  • 李个浪 提问者 回复 一叶知秋519 #3
    谢谢老师啦
    2018-09-19 19:11:26
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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