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:
Bei b == 0 würde es ja funktionieren, aber bei der 1 nicht mehr.
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;
}
}