请问这里为什么要用返回值,改用其他的就报错

请问这里为什么要用返回值,改用其他的就报错


import java.util.Scanner;


public class zSum {

    static float s=0;

public int sum() {

if(s<100) {

System.out.println("商品总价为:"+s);

}else if(s<200) {

s=s*0.95f;

System.out.println("商品折后总价为:"+s);

}else {

s=s*0.8f;

System.out.println("商品折后总价为:"+s);

}

return 0;

}


public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("请输入商品价格,输完请按0键");

Scanner cs=new Scanner(System.in);

int h=1;

for(int a=0;;a++) {

System.out.println("请输入第"+(h++)+"件商品的价格:");

float i=cs.nextFloat();

s=s+i;

if(i==0)break;

}

zSum zs=new zSum();

System.out.println(zs.sum());


}


}


正在回答

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

1回答

同学指的是sum方法么?因为你这里写了return 0,程序就会认为你需要返回一个参数回来,你把return 0 去掉,就可以不用写返回值了。如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • twodogegg 提问者 #1
    还有这个static float sum=0;初始化sum这里为什么会需要static来修饰
    2018-05-11 16:30:53
  • 好帮手慕阿莹 回复 提问者 twodogegg #2
    因为你在main方法中有调用这个变量,静态方法不能调用非静态的方法和非静态变量。所以把它变成静态变量,main方法就可以调用了。
    2018-05-11 16:35:04
  • twodogegg 提问者 回复 好帮手慕阿莹 #3
    嗯,有点明白了。谢谢。
    2018-05-11 16:58:14
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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