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

时间:2015-04-05 22:49:14

标签: java return

我正在为类创建一个基本的十进制到二进制转换器,并在用户输入“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);
    }
};

3 个答案:

答案 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);
    }