gpt4 book ai didi

java - 如何修复此错误 : incompatible types: possible lossy conversion from int to byte

转载 作者:行者123 更新时间:2023-12-02 00:41:43 28 4
gpt4 key购买 nike

我完美地编写了我的java代码,但是这个错误(internal.java:21:错误:不兼容的类型:可能从int到byte的有损转换)反复出现。但a、b、c变量是字节数据类型。所以请帮助解决这个问题。以及为什么这个问题带给我。请从技术上解释一下这个问题。

我已经使用了类型转换,例如 a=(byte)(c+b) 并且它有效。但是为什么会出现这个错误呢。所以请解释一下这个错误。

国米级{

public static void main(String[] args) 
{
byte a = 20 , b = 10, c = 20 ;

if(a<=b && a<=c)
{
a = c+b;

System.out.println(a);
}
else if(b>=c)
{
a +=b;

System.out.println(a);
}

else
{
a+=c;

System.out.println(a);
}



float t = (a/40.0f)*10;

System.out.println("internal mark is : "+ t);
}

}

internal.java:21:错误:类型不兼容:从 int 到 byte 可能有损转换 a = (字节)c+b; ^1 个错误

最佳答案

java中的

byte8位大小,其限制为-128到127。因此,假设一个场景,例如 a = 127 且 b = 127。因此,如果您添加 a 和 b,则值为 254,而 byte 数据类型无法容纳。

因此,当您添加两个byte类型变量时,输出会自动转换为int。所以应该用int来赋值。

因此通过隐式转换将 a+b 的输出分配给一个字节,将会溢出并且结果将不正确。

关于java - 如何修复此错误 : incompatible types: possible lossy conversion from int to byte,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57936111/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com