メッセージを隠すための新しい変換ソフトウェアを作成しています(楽しみのために)。私はBinaryおよびDecimal変換クラスを作成しましたが、私の考えは、ユーザーが文字列を入力すると、すべてBinary形式に変換されます。次に、それを半分に分割し、半分を10進数に変換してから、文字列を再び加算して、2進数と10進数の混合にします。他のバージョンでは、変換、分割を追加し、言語に変換することもできます。文字列を半分に分割する必要があります。これはこれまでのところ私のコードです::
public ray() {
Scanner in = new Scanner(System.in);
while (true) {
System.out.println("Please input the text you wish to encode!");
System.out.println("Type '#' to quit the Software.");
String s1 = in.nextLine();
if ("#".equalsIgnoreCase(s1)) {
System.out.println("Goodbye, hope you enjoyed RAYConversion v1.0 Alpha.");
// close software
}
// convert all to binary
binary Binary = new binary();
//what i need to do is split stirng s1 in half, make it into different strings. Then I will convert
//the two strings to binary and decimal. I made a converter for that.
}
}
final int mid = s1.length() / 2; //get the middle of the String
String[] parts = {s1.substring(0, mid),s1.substring(mid)};
System.out.println(parts[0]); //first part
System.out.println(parts[1]); //second part
Javaの部分文字列関数を使用して、それらを半分に分割できます。
String s1a = s1.substring(0, (s1.length()/2));
String s1b = s1.substring((s1.length()/2);
これを試して:
_int len = whole.length();
String a = whole.substring(0, len / 2), b = whole.substring(len / 2);
_
substring()
メソッドを使用します。長さが奇数のString
の場合、後半は1文字長くなります。
私はこれがあなたが達成したいことをやり遂げると思います:
追伸文字数がodd
の文字列の場合、後半の文字列は追加の文字の利点を得ることに注意してください。
次のようなメソッドを作成します。
public static String substring(int a, int b, String temp) {
String a = "";
for(int i = a; i<b; i++) {
char ch1 = temp.charAt(i);
a = a + ch1;
}
return a;
}
main
関数で、次のようにメソッドを呼び出します。
String s1a = substring(0, (s1.length()/2), s1);
String s1b = substring((s1.length()/2),s1.length(), s1);