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