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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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判定改为:

1
2
3
4
5
6
7
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下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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