1

我试图弄清楚如何获取文件中的所有奇数并将它们转换为二进制 1 和文件中的偶数并将它们更改为二进制 0。我正在创建一个二叉搜索树,我需要这样做以下为每个元素。- 确定元素是偶数还是奇数,如果偶数将 0 连接到我的字符串,如果奇数连接 1。 - 这将构建一个表示 LONG 的二进制字符串 - 然后我想将二进制字符串转换为 long 使用这些;

new BigInteger {myString}
longValue(); 

下面是该文件的示例:

1973
3522
3465
1825
701
4842
2457
2895
746
4367

这就是我到目前为止所得到的。找到奇数,然后找到偶数#

public void convert (TreeNode<E> node){
    for(int i = 1; i <= size(); i++){
        if (i % 2 == 0){

        }
    }
    for(int i = 2; i <= size(); i++){
        if (i % 2 != 0){

        }
    }
}

那么如何将数字转换为二进制代码以及如何将二进制字符串转换为长字符串。请有任何帮助谢谢!

4

1 回答 1

2

为什么不只创建一个字符串?

public void convert (TreeNode<E> node){
    StringBuilder builder = new StringBuilder();
    for(int i = 1; i <= size(); i++){
        if (i % 2 == 0){
            builder.append("0");
        }
    }
    for(int i = 2; i <= size(); i++){
        if (i % 2 != 0){
            builder.append("1");
        }
    }
    String myBinaryString = builder.toString();
}

但是你为什么要制作两个不同的循环呢?为什么第二个从 2 开始?你不使用节点参数是正常的吗?

你可以这样做:

public void convert (TreeNode<E> node){
    StringBuilder builder = new StringBuilder();
    for(int i = 1; i <= size(); i++){
        if (i % 2 == 0){
            builder.append("0");
        }
        else{
            builder.append("1");
        }
    }
    String myBinaryString = builder.toString();
}
于 2013-11-13T16:56:27.713 回答