为了账号安全,请及时绑定邮箱和手机立即绑定

有一个十进制转二进制问题

有一个十进制转二进制问题

夜过初晨 2016-08-03 16:11:37
public class JinZhiZhuanHuan {     public static void main(String[] args){     toBin(6); } //十进制转二进制 public static void toBin(int num1){     StringBuffer ar=new StringBuffer();         while(num1>0){         ar.append(num1%2);         num1=num1/2;         }System.out.println(ar.reverse());     } }我用记事本的时候这种方法可以,但是我用eclipse的时候ar.append(num1%2)却报错,请问这是怎么回事啊?就这样的
查看完整描述

3 回答

已采纳
?
微笑听雨

TA贡献27条经验 获得超25个赞

我是这样做的,运行没有问题

public static void toBin(int a) {
StringBuilder sb = new StringBuilder();

while (a > 0) {
int b = a % 2;
sb.insert(0, b);
a = a / 2;
}

System.out.println(sb.toString());
}

查看完整回答
反对 回复 2016-08-03
  • 夜过初晨
    夜过初晨
    你用StringBuffer能行么?我试试StringBulider
  • 夜过初晨
    夜过初晨
    我找到原因了,就是java8和indigo版本问题换了java7就可以用了,谢谢你~
  • 微笑听雨
    微笑听雨
    因为用除余法算二进制数,先算出的数放在低位,后算出的数是放在高位的
点击展开后面5
?
ziom

TA贡献948条经验 获得超1109个赞

有可能是IDE误报,你先把代码注释,然后清空一下项目再解开注释试试

查看完整回答
1 反对 回复 2016-08-03
  • 夜过初晨
    夜过初晨
    我重新写一次还是一样的,是不是跟eclipse版本和java环境有关?我用的eclipse是indigo的java是jdk 1.8
  • ziom
    ziom
    别用StringBuffer, 换StringBuilder试试
  • 夜过初晨
    夜过初晨
    跟StringBuffer的错误是一样的。。。
点击展开后面3
?
夜过初晨

TA贡献2条经验 获得超0个赞

我找到原因了,就是java8和indigo版本问题换了java7就可以用了

查看完整回答
反对 回复 2016-08-04
  • 3 回答
  • 1 关注
  • 1480 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信