double result=13.5%5; 将result重新定义为double类变量时报错

double result=13.5%5; 将result重新定义为double类变量时报错

package com.Operator;


public class operatorDemo1 {

public static void main(String[] args) {

int num1=10,num2=5;

int result;//存放结果

//加法

result=num1+num2;

System.out.println(num1+"+"+num2+"="+result);

//字符串连接

System.out.println(""+num1+num2);

//减法

result=num1-num2;

System.out.println(num1+"-"+num2+"="+result);

//乘法

result=num1*num2;

System.out.println(num1+"*"+num2+"="+result);

//除法

result=num1/num2;

System.out.println(num1+"/"+num2+"="+result);

//分子分母都是整型时,结果为整除后的结果

System.out.println(13/5);

System.out.println(13.0/5);

//求余数

result=13%num2;

System.out.println("13%"+num2+"="+result);

System.out.println("13.5%5="+(13.5%5));

double result=13.5%5;

System.out.println("13.5%"+num2+"="+result);

}


}

倒数第二行代码报错,将result更换为其他标识符时程序可正常运行。

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

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

1回答
好帮手慕珊 2017-10-26 10:00:18

在一个方法中是不能重复定义一个变量的 ,所以会报错,前面已经定义好了,直接使用就可以了。或者就是定义一个新的变量,名字不要一样。祝学习愉快!

  • 提问者 大口袋_Hello #1
    可是直接输入result=13.5%5;或者result=(double)13.5%5;这两种语句时,该程序还是会报错.
    2017-10-26 10:06:28
  • 好帮手慕珊 回复 提问者 大口袋_Hello #2
    因为result是int类型,而13.5%5得到的结果是double类型的,所以会报错。(double)13.5%5,这里13.5默认就是dobule类型,不用强制转换,即使强制转换了也依然是double类型。所以最好的做法还是重新定义一个double类型的变量,名字改一个。
    2017-10-26 10:37:57
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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