两个疑问,求解答

两个疑问,求解答

1、变量类型为什么使用double,我试了int也可以啊,变量的类型有什么实用规范吗;

2、我将原价和折后价分别声明变量,为什么在语句中会报错呢?代码如下:

int price1=80,price2=55,sum1,sum2;

sum1=price1+price2;

if(sum1>=100){

sum2=sum1-20;  

}

System.out.println(sum1+sum2);//此行报错


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

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

2回答
提问者 KABOKUO 2017-10-13 15:30:00
  • 你好,需要给sum2赋初始值,因为sum2是在判断语句中进行的赋值,如果没有初始值的话编译就会不通过。也可以将打印语句写到if语句中。
    2017-10-13 15:33:58
一叶知秋519 2017-10-13 15:02:35

1)如果对数据的精确性要求比较高,建议采用浮点型数据;如果要求数据是整数,可以采用int ,long等类型;根据具体的需求,进行具体的问题分析,再确定需要使用的数据类型。

2)报错行的price没有定义过,前面定义的是price1和price2。

祝学习愉快~

  • 提问者 KABOKUO #1
    您好,虽然改过了,但是在最后输出的时候报错了。 int price1=80,price2=55,sum1,sum2; sum1=price1+price2; if(sum1>=100){ sum2=sum1-20; } System.out.println(sum1+sum2); //此行sum2处报错
    2017-10-13 15:28:38
  • 奶茶三兄弟d 回复 提问者 KABOKUO #2
    public static void main(String[] args) { int price1=80,price2=55,sum1,sum2; sum1=price1+price2; if(sum1>=100){ sum2=sum1-20; System.out.println("原价:"+sum1+"\n折后价:"+sum2); } } 你好,应该这样,sum1+sum2此时的+号,不是连接符的作用了,而是作为运算符,因为两边是数值型,不是字符串。所以结果是错的,输出的250;
    2017-11-22 15:54:01
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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