it-swarm.com.de

Eine Schnur in zwei Hälften teilen

Ich mache eine neue Konvertierungssoftware zum Ausblenden von Nachrichten (zum Spaß). Ich habe eine Binary- und Decimal-Konvertierungsklasse erstellt und meine Idee ist, eine Benutzereingabezeichenfolge, die alle in das Binärformat konvertiert. Dann wird es in zwei Hälften geteilt, eine Hälfte in Dezimalzahl konvertiert und dann die Zeichenfolge wieder zusammengefügt, um eine Mischung aus Binär- und Dezimalzahl zu erhalten. In anderen Versionen werde ich weitere Konvertierungen hinzufügen, mehr Splits hinzufügen und möglicherweise auch in Sprachen konvertieren. Ich muss die Saite in zwei Hälften teilen. Dies ist mein Code bisher:

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.

    }
}
5
user5305868
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
12
karim mohsen

Sie können die Teilzeichenfunktion von Java verwenden, um sie in Hälften zu teilen:

String s1a = s1.substring(0, (s1.length()/2));
String s1b = s1.substring((s1.length()/2);
0
Paras Diwan

Versuche dies:

int len = whole.length();
String a = whole.substring(0, len / 2), b = whole.substring(len / 2);

Hierbei wird die Methode substring() verwendet. Bei String mit ungerader Länge ist die zweite Hälfte um ein Zeichen länger.

0
bcsb1001

Ich denke, das wird Sie erledigen, was Sie erreichen wollen:

P.S. Beachten Sie, dass für Zeichenfolgen mit odd Anzahl der Zeichen die zweite Hälfte der Zeichenfolge den Vorteil des zusätzlichen Zeichens hat.

Erstellen Sie eine Methode wie diese:

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;
}

rufen Sie in Ihrer main-Funktion die Methode wie folgt auf:

String s1a = substring(0, (s1.length()/2), s1);
String s1b = substring((s1.length()/2),s1.length(), s1);
0
burglarhobbit