import java.util.Arrays;
import java.util.Scanner;
public class EncryptionAlgorithm {
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];
for(int i = 0; i < plaintextLenght ; i++){
char character = plaintext.charAt(i);
int ascii = (int) character;
array1[i]= ascii / 10;
array2[i] = ascii % 10;
}
String temp1 = **Integer.toBinaryString(array1)**;
String temp2 = **Integer.toBinaryString(array2)**;
while (temp1.length()!= 8) {
temp1 = "0" + temp1;
}
while (temp2.length()!= 8) {
temp2 = "0" + temp2;
}
System.out.print("Quotient = "+ Arrays.toString(array1));
System.out.println(" Remainder = "+ Arrays.toString(array2));
}
public static void main(String[] args) {
String str ="";
enterText(str);
}
}
请帮助我解决toBinaryString()问题,我会很感激。 谢谢
答案 0 :(得分:0)
可以通过以下方式实现:
注意:您可以将temp1.length()!= 8
的条件更改为temp1.length() < 8
。否则,它将进入无限循环以输入更大的文本。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class EncryptionAlgorithm {
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];
for(int i = 0; i < plaintextLenght ; i++){
char character = plaintext.charAt(i);
int ascii = (int) character;
array1[i]= ascii / 10;
array2[i] = ascii % 10;
}
List<String> array1Binary = new ArrayList<String>();
for (int i = 0; i < array1.length; i++) {
array1Binary.add(Integer.toBinaryString(i));
System.out.println(Integer.toBinaryString(i));
}
List<String> array2Binary = new ArrayList<String>();
for (int i = 0; i < array2.length; i++) {
array2Binary.add(Integer.toBinaryString(i));
}
String temp1 = String.join("", array1Binary);
String temp2 = String.join("", array2Binary);
while (temp1.length()!= 8) {
temp1 = "0" + temp1;
}
while (temp2.length()!= 8) {
temp2 = "0" + temp2;
}
System.out.print("Quotient = "+ Arrays.toString(array1));
System.out.println(" Remainder = "+ Arrays.toString(array2));
}
public static void main(String[] args) {
String str = "";
enterText(str);
}
}