我正在为类创建一个基本的十进制到二进制转换器,并在用户输入“0”时为其设置返回零。我不知道如何使用return语句来做到这一点。
public class binary1
{
public static void main(String[] args)
{
int input = Integer.parseInt(args[0]);
convert(input);
System.out.println();
}
public static void convert( int input )
{
if (input == 0) return System.out.print(0); //<-- here is my problem
convert(input / 2);
System.out.print(input % 2);
}
};
答案 0 :(得分:0)
我很想知道你究竟想要什么,但这里有一些经过修改的代码可能对你有帮助。
public static int convert(int input) {
if (input == 0){
System.out.print(0);
return 0 ;
}
convert(input / 2);
System.out.print(input % 2);
}
答案 1 :(得分:0)
您发布的方法无法返回任何内容。
如果您打算返回转换为二进制的整数,最简单的方法是将其作为String
返回,如下所示:
public static String convert(int input) {
if (input == 0)
return "0";
else
return convert(input / 2) + (input % 2);
}
注意:您只需使用Integer.toBinaryString(input)
即可完成此操作。
答案 2 :(得分:0)
在打印行之后放回。我假设你实际上不需要返回一个值,而是退出函数。
public static void convert( int input )
{
if (input == 0)
{
System.out.print(0);
return;
}
convert(input / 2);
System.out.print(input % 2);
}