Anzahl Nullen uns Einsen in String ermitteln

Blank !

Neues Mitglied
Hallo,
ich habe ein Problem bei einer Aufgabe.
In der Aufgabe geht es darum, einen Encoder zu schreiben, der wie folgt funktioniert:
encode("0") --> "1" (1 führende Null)
encode("000") --> "3" (3 führende Nullen)
encode("11") --> "0 2" (0 führende Nullen, 2 Einsen)
encode("011") --> "1 2" (1 führende Null, 2 Einsen)
encode("101") --> "0 1 1 1" (0 führende Nullen, 1 Eins, 1 Null, 1 Eins)

Mein Ansatz:
Java:
    public static String encode(String a) {
        String c = "";
        int x = 0;
        if (a == "")
            return "0";
        else
            {
            char[] b = a.toCharArray();
        for (int i = 0; i < b.length; i++) {
            if(b[i] == 0)
                x++;       
            else if(b[i] == 1)
                c += x;
                x = 0;
                
            }
        }
Bei b == 0 würde es ja funktionieren, aber bei der 1 nicht mehr.
 
Du vergleichst in Zeilen 10 und 12 ein Zeichen mit einer Zahl. In dem Fall müsstest Du als Zahl den entsprechenden Codepoint einsetzen. Verwende einfach Zeichen: '0' und '1' statt 0 und 1
 
Also erst einmal stimmen die Prüfungen doch nicht. Du musst gegen die Zeichen '0' und '1' prüfen und nicht gegen die Werte 0 und 1. Daher dürfte der Code so in keiner Weise stimmen.

Dann ist mir Dein gewünschtes Vorgehen noch nicht wirklich klar. Wie wäre es, wenn Du erst einmal den Algorithmus, wie Du ihn umsetzen willst, im Detail beschreibst?
 
Java:
if(b[i] == 0)

b ist nicht ein int sondern ein Zeichen ( ASCII) wenn dann
Java:
            if(b[i] == '0')
 

Neue Themen


Zurück
Oben