在转换顺序有问题的java中将十进制转换为二进制

时间:2014-02-25 08:35:35

标签: java binary decimal

嘿所以,我正在我的大学学习我的第一门课程,这是我用java教授的。我在将十进制转换为二进制时遇到问题。我似乎能够得到正确的输出,但它的顺序相反,我不知道如何按正确的顺序排列,这是我到目前为止编码的,

import java.util.*;
public class lab6 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
   System.out.print("Enter a decimal number to convert to binary: ");
   int x = input.nextInt();
   int y;
   String y1="";
   while(x!=0){
       y=x%2;
       x=x/2;
       y1 = Integer.toString(y);
       System.out.print(y1+" ");
     }    
}
}

3 个答案:

答案 0 :(得分:2)

您可以将数字存储在某个容器中(例如ArrayList),然后在迭代时将其迭代回到前面打印每个数字。

答案 1 :(得分:0)

要添加到Ivaylo答案,您还可以将其存储在StringBuilder中并使用reverse方法将其反转。

答案 2 :(得分:0)

您似乎只以正确的顺序显示输出。但是如果你想反转当前的输出,你可以使用下面的代码:

        Scanner input = new Scanner(System.in);
        System.out.print("Enter a decimal number to convert to binary: ");
        int x = input.nextInt();
        int y;
        String y1="";
        String reverse = "";
        while(x!=0){
           y=x%2;
           x=x/2;
           y1 = Integer.toString(y);
         //  System.out.print(y1+" ");
           reverse = y1+" "+reverse;
         }          
        System.out.println("Reverse Order :"+reverse);