首页 > 解决方案 > 将字符串转换为 stringbuilder 对象,以便可以将反向选项应用于字符串

问题描述

基本上,我将十进制转换为二进制,为此我定义了一个方法conversionBinaryDecimal(),其中我将整数 n 传递给它,每次我将 n 除以 2 并通过串联将余数添加到字符串变量 inBinary。但是当我添加余数时,它会以相反的顺序存储。例如:6 二进制是 110,但它存储为 011。所以,我想反转字符串以获得准确的答案。为此,我使用 StringBuilder 将其转换为可变字符串,但是当我使用反向内置方法时。它说配置分配。

我已经尝试到处搜索以了解为什么会这样?但我不明白。

package conversionbinarydecimal;
import java.lang.*; 
import java.io.*; 
import java.util.*;
import java.util.Scanner;

public class ConversionBinaryDecimal {
    static void decimalToBinary(int n){
        String inBinary = "";
        while(n>0){
            int temp = (n%2);
            inBinary += temp;
            n=n/2;
        }
        StringBuilder input1 = new StringBuilder(); 
        input1.append(inBinary); 
        input1 = input1.reverse(); 
        System.out.println(inBinary);
    }

    public static void main(String[] args) {
        // TODO code application logic here
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        decimalToBinary(n);

    }

}

我收到编译器错误。预期的输出是任意数字的二进制。例如:6:110

标签: java

解决方案


您没有打印出input1字符串,而是打印出inBinary

更改您的代码如下:

input1 = input1.reverse();
System.out.println(input1);

推荐阅读