首页 > 解决方案 > 在Java中将十进制值转换为二进制

问题描述

这是我的问题。在下面的代码中,我有一个voidtype 方法,但是在这个方法中,我仍然可以找到一个return.

另外,在递归调用中,我可以找到这个>>运算符。

所以有我的问题:

import java.util.Scanner;
class Code {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter your Decimal value here : ");
        int num = sc.nextInt();
        printBinaryform(num);
        System.out.println();
    }
    private static void printBinaryform(int number) {
        int remainder;
        if (number <= 1) {
            System.out.print(number);
            return; // KICK OUT OF THE RECURSION
        }
        remainder = number % 2;
        printBinaryform(number >> 1);
        System.out.print(remainder);
    }
}

标签: javarecursion

解决方案


在您的代码中,return;用于离开该功能。在String函数中,我们应该有return关键字,后跟一个字符串值,但在 void 函数中,返回只是后跟什么都没有。

>>运算符称为右移。它用于位移。但是这个问题在这里已经有了答案:

java中的“>>”是什么意思

12 是1100二进制的。右移一位(>> 是按位右移运算符)产生

1100->0110

结果是6。

这样我们就有了,

6 - 1 = 5


推荐阅读