Java 二进制运算符的操作数类型错误‘&’;第一种类型:int[]第二种类型:int

Java 二进制运算符的操作数类型错误‘&’;第一种类型:int[]第二种类型:int,java,Java,如果你想转换成ascii码,我不能按位和一个带int的数组。。 遍历字符串 public static void enterText(String plaintext ) { Scanner in = new Scanner(System.in); System.out.print("Enter Plaintext: "); plaintext = in.nextLine(); int plaintextLenght = plaintext.length();

如果你想转换成ascii码,我不能按位和一个带int的数组。

。 遍历字符串

public static void enterText(String plaintext ) {
    Scanner in = new Scanner(System.in);
    System.out.print("Enter Plaintext: ");
    plaintext = in.nextLine(); 
    int plaintextLenght = plaintext.length();

    int[] array1 = new int[plaintextLenght]; 
    int[] array2 = new int[plaintextLenght]; 

    StringBuilder quoBinary = new StringBuilder();
    StringBuilder remBinary = new StringBuilder();

    for(int i = 0; i < plaintext.length() ; i++) {   
        char character = plaintext.charAt(i); 
        int ascii = (int) character; 
        array1[i]= ascii / 10; 
        array2[i] = ascii % 10; 

        for(int j = 0; j < 8; j++) {  
            **quoBinary.append((array1 & 128) == 0 ? 0 : 1);  
            array1<<= 1;  
            remBinary.append((array2 & 128) == 0 ? 0 : 1);  
            array2<<= 1;**  
        } 
    }

     System.out.println("Quotient = "+ Arrays.toString(array1));  // Print array for quotients
     System.out.println("Remainder = "+ Arrays.toString(array2)); // Print array for quotients
     System.out.println("Binary QQ " + quoBinary);
     System.out.println("Binary RR " + remBinary);    
}
for(int i=0;i
为什么可以在数组上使用位运算符?也许可以解释一下你实际上在做什么。我正在尝试将数组中的元素转换为8位二进制。你也可以使用左移位
你看起来像是在打印ascii值,而不是“将元素转换为二进制”。在我看来,那些“array1/array2”提到的内容是由
I
索引的,看看他们是如何在for-loop中的。这是否是所问问题的答案一点也不清楚。op已经在从字符串中提取字符,`char character=plaintext.charAt(i);`所以我看不出这个答案有什么帮助。
for(int i = 0 ; i < str.length() ; i++){
    char character = str.charAt(i);
    System.out.print((int)character);
}