为什么这里discount变量没初始化就报错

为什么这里discount变量没初始化就报错


public class DisCountDemo {

    //根据商品总价输出折后总价

    public double discount(double price){

        double discount;

        if(price<100){

           discount=price; 

        }

        if(price>100&&price<=199){

            discount=price*0.95;

        }

        if(price>=200){

            discount=price*0.85;

        }

        return discount;

    }

public static void main(String[] args) {

//定义对象

DisCountDemo dis =new DisCountDemo();

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

//Scanner sc= new Scanner(System.in);

double price=180;

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

dis.discount(price);

System.out.println("折后商品总价位为:"+dis.discount(price));

}

}


正在回答 回答被采纳积分+1

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

1回答
慕婉清0129613 2019-07-10 12:31:58

discount在此例中属于局部变量,JVM不会自动初始化,必须初始化

  • 同学的说法很正确哦,这里的discount是局部变量,而局部变量是没有初始值的,需要初始化赋值的哦! 很棒哦~ 继续加油! 祝:学习愉快~
    2019-07-10 15:35:55
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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