如何在void方法中返回System.out.print(0)



我正在为一个类制作一个基本的十进制到二进制转换器,并为用户输入"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)来执行此操作。

最新更新