有 Java 编程相关的问题?

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

字符串输入到二进制输出Java

嗨,我想写一个加密程序,在输出之前将输入的每个字母转换成7字节的二进制数。我在用电脑。ToBinarysting方法,所以请不要建议其他解决方案,我遇到的问题是它只转换字符串的第一个字符!任何帮助都是我的努力

public static void convert(String h)
{
    int y =0;
    String f =" ";

    for(int i =0; i<h.length(); i++)
    {
         y = (int)h.charAt(i);
        f = Integer.toBinaryString(y);
    }

    System.out.println(y);
    System.out.println(f);
}

我打印出y,f,看它是否成功转换。当我输入单个字符时,它可以工作,但当我输入eg ben时,它将转换整个字符串,而不是一个字母一个字母地转换


共 (2) 个答案

  1. # 1 楼答案

    在每次迭代中,您将为f分配一个新字符串,因此只剩下最后一个字符。每次都需要更新现有字符串

    因此,请使用:

    f += Integer.toBinaryString(y);
    

    代替:

    f = Integer.toBinaryString(y);
    

    除此之外,考虑使用^ {< CD2>},因为您在for循环中操作字符串。

  2. # 2 楼答案

    那么,仅仅:

    String h.....
    bytes[] bytesArray = h.getBytes();