有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在forloop中创建的java访问字符串变量

我正在创建一个安卓应用程序,将ascii转换为二进制。但我不知道如何访问我在for循环外创建的字符串。如果我输入二进制(变量名),安卓 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) 个答案

  1. # 1 楼答案

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

    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();
    

    通过这种方式,您可以在初始输出时附加每个字符的每个二进制值,最后获得文本的整个二进制表示形式
    此外,在每个二进制值的开头填充零,直到每个字符有8个二进制数字