你好,这样输入正确吗?为什么系统显示还是error呢?谢谢

你好,这样输入正确吗?为什么系统显示还是error呢?谢谢

//将float的值f,重新赋值给变量l,并输出l的值

    l=(long)f;

    System.out.println("l="+l);


TypeExchange.java:15: error: incompatible types: possible lossy conversion from long to int

    int i=(long)l;

          ^

1 error


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

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

1回答
好帮手慕阿满 2019-01-11 10:45:27

同学你好,l=(long)f;System.out.println("l="+l);这两句代码没问题,报错信息提示错误在第15行,

int i = (long)l;

报错。这里应该是将long类型的l赋值给int类型的i,需要将l强制转换为int类,所以应该为:

int  i  = (int)l;

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

  • 提问者 慕少6576376 #1
    亲,你好。我试了你这种输入,还是导不出。。。能帮忙再检查一下吗?谢谢 // 将一个整型字面值67832赋值给char类型变量c char c=(char)67832; //并将c的值输出 System.out.println("c="+c); //定义一个整型变量n,值为65 int n=65; //定义一个字符型变量c1,赋值为n,并输出c1的值 char c1=(char)n; System.out.println("c1="+c1); //定义一个长整型变量l,值为987654321 Long l=987654321l; //定义一个整型变量i,赋值为l,并输出i的值 int i=(int)l; System.out.println("i="+i); //定义一个float类型变量f,将变量l的值赋值给f,并输出f的值 float f=(float)l; System.out.println("f="+f); //将float的值f,重新赋值给变量l,并输出l的值 l=(long)f; System.out.println("l="+l); TypeExchange.java:15: error: incompatible types: Long cannot be converted to int int i=(int)l; ^ 1 error
    2019-01-11 20:12:15
  • 好帮手慕阿满 回复 提问者 慕少6576376 #2
    同学你好,同学在定义变量 l 时,将其定义为Long包装类,包装类Long不能向int类型转换,这里应该long类,而不是Long,如 long l = 987654321l 。同学修改一下再试试。祝:学习愉快~
    2019-01-13 13:54:41
  • 好帮手慕阿满 回复 提问者 慕少6576376 #3
    另外建议同学下次代码有问题,请将代码贴在回答中而不是回复,避免失去代码格式祝:学习愉快~
    2019-01-13 13:56:22
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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