不知道哪里错了,在eclipse中是正确的。

不知道哪里错了,在eclipse中是正确的。

public class DisCountDemo {
    //根据商品总价输出折后总价
    public void zk(float a,float b,float c,float z,float x){
        if(a>z){
            a=a*(b/10);   
        }else if(a<x){
            a=0;
        }else{
            a=a*(c/10);
        }
        System.out.println("打折后的商品价为:"+a);
    }
    public static void main(String[] args) {
        //定义对象
        DisCountDemo i=new DisCountDemo();
        //定义商品总价存放到变量中
        float a=654,b=8.5f,c=9.5f,z=200,x=100;

        //调用方法,输出折后商品总价
        i.zk(a,b,c,z,x);
    }
}http://img1.sycdn.imooc.com//climg/5b7504840001b9a106410569.jpg

正在回答

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

1回答

您好,不知道您说的哪里错了,是什么意思请详细描述。另题目要求:总价<100,不打折,代码中总价小于100时,总价等于了0,应该是等于总价a。

且代码可以优化一下,优化思路:定义一个方法,方法中定义一个参数,参数为总价。在方法中定义一个变量price,用来存储打折后的价格。然后使用if-else结构完成,按照要求判断总价,例如总价小于100时,可以将总价的值赋值给定义的变量price,如果总价在100-200之间,那么就把总价乘以0.95赋值给price,依次类推完成if-else结构。然后在方法最后输出变量price的值即可。祝学习愉快!

  • 晓明老师 提问者 #1
    非常感谢,错误找到了,另外a=0我都没发现,你真细心^_^
    2018-08-17 13:35:12
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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