我正在为一个类制作一个基本的十进制到二进制转换器,并为用户输入"0"以返回零进行设置。我不知道如何用退货声明来做到这一点。
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);
}
};
将您的退货放在打印行之后。我假设您实际上不需要返回值,而是退出函数。
public static void convert( int input )
{
if (input == 0)
{
System.out.print(0);
return;
}
convert(input / 2);
System.out.print(input % 2);
}
我有点困惑你到底想要什么,但这里有一些修改后的代码可能会对你有所帮助。
public static int convert(int input) {
if (input == 0){
System.out.print(0);
return 0 ;
}
convert(input / 2);
System.out.print(input % 2);
}
您发布的方法无法返回任何内容。
如果您打算返回转换为二进制的整数,最简单的方法是将其作为String
返回,如下所示:
public static String convert(int input) {
if (input == 0)
return "0";
else
return convert(input / 2) + (input % 2);
}
注意:您可以简单地使用Integer.toBinaryString(input)
来执行此操作。