新手。。关于十进制转二进制。。
我才学JAVA。写了这个小程序,可是输出的结果和实际结果是相反的,比如十进制100,转成二进制是1100100,可我这输出来的是0010011.。求大神解救。import java.util.Scanner;
public class ZhuanHuan {
public static void main(String[] args){
System.out.println("请输入一位十进制数:");
Scanner scanner=new Scanner(System.in);
int x=scanner.nextInt();
int a;
while (x>=2){
a=x%2;
System.out.print( a);
x=x/2;
}
System.out.print(x);
}
}
----------------解决方案--------------------------------------------------------
坐等。。。
----------------解决方案--------------------------------------------------------
怎么没有人啊
----------------解决方案--------------------------------------------------------
toBinaryString()直接可以完成二进制的转换
----------------解决方案--------------------------------------------------------
这样的逻辑不对。
----------------解决方案--------------------------------------------------------
就是求余数的方法。。
----------------解决方案--------------------------------------------------------
程序代码:
import java.util.Scanner;
public class ZhuanHuan {
public static void main(String[] args) {
ZhuanHuan zh = new ZhuanHuan();
zh.print();
}
public String print(){
StringBuffer result = new StringBuffer();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一位十进制数:");
int x = scanner.nextInt();
int temp = x;
while (x != 0) {
temp = x % 2;
x = x / 2;
result.insert(0, temp);
}
System.out.println(result.toString());
return result.toString();
}
}
public class ZhuanHuan {
public static void main(String[] args) {
ZhuanHuan zh = new ZhuanHuan();
zh.print();
}
public String print(){
StringBuffer result = new StringBuffer();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一位十进制数:");
int x = scanner.nextInt();
int temp = x;
while (x != 0) {
temp = x % 2;
x = x / 2;
result.insert(0, temp);
}
System.out.println(result.toString());
return result.toString();
}
}
你看下这个,你写那个逻辑错了额
----------------解决方案--------------------------------------------------------
回复 7楼 java小蚂蚁
哦哦。。。感谢。 ----------------解决方案--------------------------------------------------------
好了就结贴,有问题再问。多问问就会了
----------------解决方案--------------------------------------------------------
回复 楼主 qq1136379716
public class Change {public static void main(String[] args) {
System.out.println("请输入一位十进制数:");
Scanner scanner=new Scanner(System.in);
int x=scanner.nextInt();
Integer.toBinaryString(x);//integer是int的包装类
System.out.println("转换的二进制结果:");
System.out.println(Integer.toBinaryString(x));
}
}
integer是int的包装类,里面有很多方法,你可以去看下
----------------解决方案--------------------------------------------------------