这是我的代码:
import java.util.*;
public class binary{
public static void main(String args[])
{
//input thing
Scanner read = new Scanner(System.in);
//variables
String result = "";
int input;
//input
input =read.nextInt();
toBinary(input,result);
System.out.println("Your binary is" + result);
}
public static String toBinary(int a,String b){
StringBuilder sb = new StringBuilder();
int y;
int z=2;
while(a >= 1){
y = a%2;
a/=z;
sb.append(y);
}
b = sb.toString();
invert(b);
return b;
}
public static String invert(String s) {
String temp = "";
for (int i = s.length() - 1; i >= 0; i--)
temp += s.charAt(i);
return temp;
}
}
你能帮我解决什么错误,导致回报空白。当我输入一个数字时,它就会显示为“你的二进制文件”。
答案 0 :(得分:0)
您的主要问题是您没有存储方法的返回值。 toBinary(input,result);
会返回转化结果,但您不会将其存储到任何变量中。写result = toBinary(input,result);
来解决这个问题。
这同样适用于您的invert
电话。写b = invert(b);
以保存b
的反转值。或者写return invert(b);
立即返回。
只是为了确保:行b = sb.toString();
不会更改作为方法参数传递的变量result
。您正在为变量编写新的对象引用。旧对象在内存中保持不变。此外,变量result
仍然引用旧对象。