晓峰沧桑 2023-03-07 20:17 采纳率: 100%
浏览 27
已结题

将123的各数字顺序前后颠倒后输出。为什么我用int类型和long类型可以正常运行,而用byte类型和short类型则会出现一下错误提示,请问这是怎么回事?

代码部分
public class L5{
public static void main(String []args) {short a=123,b=a%10×100,c=a/10%10×10,d=a/100;
System.out.println(b+c+d);}}

注释:由于大家看的时候,运算符号乘号不显示所以我换成数学的乘号,代码并没有错误。

错误提示
Main.java:2: error: incompatible types: possible lossy conversion from int to short
public static void main(String []args) {short a=123,b=a%10100,c=a/10%1010,d=a/100;
^
Main.java:2: error: incompatible types: possible lossy conversion from int to short
public static void main(String []args) {short a=123,b=a%10100,c=a/10%1010,d=a/100;
^
Main.java:2: error: incompatible types: possible lossy conversion from int to short
public static void main(String []args) {short a=123,b=a%10100,c=a/10%1010,d=a/100;
^
3 errors





  • 写回答

1条回答 默认 最新

  • 霸都小魔女 2023-03-07 20:21
    关注

    小魔女参考了bing和GPT部分内容调写:
    这是因为byte和short类型的取值范围比int和long类型要小,当你用byte和short类型来存储123时,它们的取值范围就不够用了,所以会出现错误提示。为了解决这个问题,可以将123转换成int类型或者long类型,然后再进行操作。例如:

    int a = 123;
    int b = a % 100;
    int c = a / 10 % 10;
    int d = a / 100;
    System.out.println(b + c + d);
    

    运行结果为321。
    回答不易,记得采纳呀。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月15日
  • 已采纳回答 3月7日
  • 修改了问题 3月7日
  • 创建了问题 3月7日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装