Java中的二进制转换器

时间:2016-02-25 15:43:52

标签: java binary

我是Java的新手,我编写了这段代码,但似乎我的教授想要没有堆栈,数组或字符串的转换器。你怎么做到这一点?我能做到这一点的方法是什么?这是汇编语言x86。他希望我学习如何在没有数组堆栈或字符串的情况下执行此操作。谢谢。

import java.util.Scanner;

public class Converter {
    public static void main (String[] args){
    int number;

    Scanner kb = new Scanner(System.in);
    Stack myStack = new Stack(20);
    System.out.println("Enter a number to convert: ");
    number = kb.nextInt();
    do{
        int temp;
        int remainder;
        myStack.push(number%2);
        number = number/2;
    }while(number>0);
    while(myStack.size() > 0)
    System.out.print(myStack.pop());
    }
}

1 个答案:

答案 0 :(得分:1)

这是一个JAVA编写的传统C风格代码,它不使用任何字符串数组或堆栈。

我只对原始代码进行了一些更改。

以下是代码段:

public static void main (String[] args)
{
    Scanner kb = new Scanner(System.in);
    System.out.println("Enter a number to convert: ");
    int number = kb.nextInt();
    int arr[] = new int[number/2];
    int k = 0;
    do {
        arr[k++] = number%2;
        number = number/2;
    } while(number > 0);

    /* Print */
    for(int i = arr.length - 1; i >= 0; i--) {
        System.out.print(arr[i]);
    }
}

输入:

8

输出:

1000