Java:如何将JTextArea文本转换为位字符串

时间:2014-05-25 12:59:47

标签: java

想要将JtextArea文本转换为位字符串。

我正在使用两个JTextArea一个用于输入,一个用于输出,一个按钮执行以下代码:

StringBuilder sb = new StringBuilder();

int ssc =Integer.parseInt(jta1.getText());
                        String sc=Integer.toBinaryString(ssc);
                        char[] bc=sc.toCharArray();
                        for (char c : bc) {
                        sb.append("-");


int i =Character.getNumericValue(c);
                    String a = String.valueOf(i);
                    sb.append(a.toString());
                    jta2.setText(a);
Error           

    Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "dsa"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
        at java.lang.Integer.parseInt(Integer.java:449)
        at java.lang.Integer.parseInt(Integer.java:499)
        at MainFrame$2.actionPerformed(MainFrame.java:57)

1 个答案:

答案 0 :(得分:0)

Integer.parseInt(jta1.getText());

假设您尝试解析的不只是数字,上面的内容会导致NumberFormatException。解析器只能解析数字字符串,如“1234”,而不是字母"dsa"

java.lang.NumberFormatException: For input string: "dsa"

可以做的是迭代字符,然后将每个字符转换为int并附加每个字符的二进制字符串

for (char c : txt.toCharArrray() ) {
    String binaryOfCharacter = Integer.toBinaryString((int)c);
    // append to StringBuilder
}

注意:每个字符只返回七位代表