老师请问我错在哪里,谢谢

老师请问我错在哪里,谢谢

public class DisCountDemo {
    //根据商品总价输出折后总价
    public double discount(double a)
    {
        double price;
        if(a<100)
        price=a;
        else if(a<=199)
        price=a*0.95;
        else
        price=a*0.85;
        System.out.println("折后商品总价为:"+price);
    }
    
    
    
    
	public static void main(String[] args) {
		//定义对象
		DisCountDemo dc=new DisCountDemo();
		//定义商品总价存放到变量中
		int a=150;

		//调用方法,输出折后商品总价
		dc.discount(a);
	}
}

问题:

  1. 为什么提示我要return?

  2. price和a的关系是什么?我是照着上课的例题写的,但是不能理解它们之间什么时候用price、什么时候用a?

谢谢老师

正在回答

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

2回答

同学你好,1. 是正确的。

2. int类型的返回值是需要返回(return),如果将返回类型设置为void,表示什么都不返回。则可以不返回(return)。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

好帮手慕小琪 2020-03-14 14:09:32

同学你好,

1. 在discount()方法中,你的参数返回类型是double。所以在方法的结束要返回double类型的值,所以需要return。

2. a是总价,也就是你输入的商品总价,price是折后价,price = a; 的意思是将a的值赋给price。代码的执行过程就是:在主方法中,要向方法中传入总价,而你设置的总价就是a,a传入到discount()方法中后,经过计算和判断将price的值输出到控制台,也就是在最后的结果中呈现的就是price。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


  • 提问者 studyinginging #1
    那什么时候不用return呢?int类型用不用return?
    2020-03-15 12:48:34
  • 提问者 studyinginging #2
    public static void main(String[] args) { //定义对象 DisCountDemo dc=new DisCountDemo(); //定义商品总价存放到变量中 int a=150; //调用方法,输出折后商品总价 dc.discount(a); 这个里面的a也可以设置成b,然后调用discount方法,把b的值传给discount方法里的a,然后a再经过计算得到price,最后传值返回给主方法里的a,对吗?
    2020-03-15 12:59:20
  • ArloWang 回复 提问者 studyinginging #3
    方法返回类型为void的时候,就不用写return。 public void discount(double a){ }
    2020-03-15 17:46:42
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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