首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将二进制字符串转换为二进制字符串:前导零

将二进制字符串转换为二进制字符串:前导零
EN

Stack Overflow用户
提问于 2019-06-04 13:32:53
回答 3查看 62关注 0票数 -1

在生成的二进制文件前面,我总是得到0。

代码语言:javascript
复制
  public static String convertToBinaryString(int testSubject){


    if(testSubject == 0){
      return binaryString = "0"; 
    }

    else{
      return convertToBinary(testSubject / 2) + "" + testSubject % 2;
    }

  }

如何去掉前导零?

EN

回答 3

Stack Overflow用户

发布于 2019-06-04 13:39:22

修复此问题的一种方法是在testSubject < 2

代码语言:javascript
复制
if (testSubject < 2) {
    return "" + testSubject % 2;
} else {
    return convertToBinary(testSubject / 2) + "" + testSubject % 2;
}
票数 5
EN

Stack Overflow用户

发布于 2019-06-04 13:57:17

你可以使用内建函数

代码语言:javascript
复制
   int x = 50;
    String s = Integer.toBinaryString(x);
    return s;

https://www.geeksforgeeks.org/java-lang-integer-tobinarystring-method/

票数 1
EN

Stack Overflow用户

发布于 2019-06-04 14:02:06

还有其他更简单的方法。你的程序有递归开销,这可以使用简单的循环来避免。

代码语言:javascript
复制
public static String convertToBinary(int testSubject) {
    // Method 1
    //   return Integer.toBinaryString(testSubject);

    // Method 2
    String str = "";
    while(testSubject!=0) {
      str = testSubject%2 + str;
      testSubject/=2;
    }
    return str;
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56437849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档