Java 字符串(字节n)->;错误:不兼容的类型:可能从int到byte的有损转换

Java 字符串(字节n)->;错误:不兼容的类型:可能从int到byte的有损转换,java,binary,byte,Java,Binary,Byte,我已经编写了一个方法,可以将一个字节转换为一个two字符串。但当我运行代码时,它显示: 不兼容类型:从int到byte的可能有损转换 String toTwoCompliments(int n) { String binary = ""; if(n < 0) { n = n * (-1) - 1; while(n != 0) { if(n % 2 == 0) { binary = "1" + binary; n /= 2;

我已经编写了一个方法,可以将一个字节转换为一个two字符串。但当我运行代码时,它显示: 不兼容类型:从int到byte的可能有损转换

String toTwoCompliments(int n) {
  String binary = "";
  if(n < 0) {
    n = n * (-1) -  1;
    while(n != 0) {
      if(n % 2 == 0) {
      binary = "1" + binary;
      n /= 2;
      } else {
      binary = "0" + binary;
      n /= 2;
      }
    }
    while(binary.length() < 8) {
      binary = "1" + binary;
    }
    return binary;
  } else {
    while(n != 0) {
      binary = n % 2 + binary;
      n /= 2;
    }
    while(binary.length() < 8) {
      binary = "0" + binary;
    }
    return binary;
  }
}
String-totwo恭维(int-n){
字符串binary=“”;
if(n<0){
n=n*(-1)-1;
而(n!=0){
如果(n%2==0){
binary=“1”+二进制;
n/=2;
}否则{
binary=“0”+二进制;
n/=2;
}
}
while(binary.length()<8){
binary=“1”+二进制;
}
返回二进制;
}否则{
而(n!=0){
二进制=n%2+二进制;
n/=2;
}
while(binary.length()<8){
binary=“0”+二进制;
}
返回二进制;
}
}

例如,如果我运行Totwo恭维(64),它将返回一个错误。我的错在哪里?谢谢你们的帮助。

对不起,伙计们,我本想用字节作为参数,所以正确的代码是

String toTwoCompliments(byte n) {
  String binary = "";
  if(n < 0) {
    n = n * (-1) -  1;
    while(n != 0) {
      if(n % 2 == 0) {
      binary = "1" + binary;
      n /= 2;
      } else {
      binary = "0" + binary;
      n /= 2;
      }
    }
    while(binary.length() < 8) {
      binary = "1" + binary;
    }
    return binary;
  } else {
    while(n != 0) {
      binary = n % 2 + binary;
      n /= 2;
    }
    while(binary.length() < 8) {
      binary = "0" + binary;
    }
    return binary;
  }
}
字符串(字节n){
字符串binary=“”;
if(n<0){
n=n*(-1)-1;
而(n!=0){
如果(n%2==0){
binary=“1”+二进制;
n/=2;
}否则{
binary=“0”+二进制;
n/=2;
}
}
while(binary.length()<8){
binary=“1”+二进制;
}
返回二进制;
}否则{
而(n!=0){
二进制=n%2+二进制;
n/=2;
}
while(binary.length()<8){
binary=“0”+二进制;
}
返回二进制;
}
}

系统输出打印LN(TotwoCompaids(64))在此处打印
01000000
;你试过干净的身材吗?另外,
Integer.toBinaryString(int)
有什么问题?。投票结束是一个不可复制的错误。因为这对其他人没有帮助,请删除这个问题。