访问在for循环内创建的字符串变量

时间:2018-11-18 15:20:39

标签: java for-loop

我正在创建一个将ascii转换为二进制文件的android应用。但是我不知道如何访问在for循环之外创建的字符串。如果我输入binary(var name)android studio给我一个错误。这是我的代码(仅在单击式侦听器中)

String output = "";
String input = textEditText.getText().toString();
int length = input.length();

for (int i = 0;i < length;i++) {
    char c = input.charAt(i);
    int value = Integer.valueOf(c);
    String binaryOutpt2 = Integer.toBinaryString(value);
    String binary = output + binaryOutpt2;
}

1 个答案:

答案 0 :(得分:3)

对变量StringBuilder使用String而不是output,如下所示:

String input = textEditText.getText().toString();        
StringBuilder output = new StringBuilder();
int length = input.length();
for (int i = 0; i < length; i++) {
    char c = input.charAt(i);
    int value = (int) c;
    String s = Integer.toBinaryString(value);
    for (int j = 0; j < 8 - s.length(); j++) {
        output.append("0");
    }
    output.append(s);
}
String out = output.toString();

这样,您可以在初始输出处附加每个char的每个二进制值,最后得到文本的整个二进制表示形式。
还要在每个二进制值的开头填充零,直到为每个字符获得8个二进制数字。