T
th22
Gast
hi
also ich wollte ne lauflängencodierung machen. z.b. aus AAADFGGG wird A3DFG3.
und ich bekomm immer die Fehlermeldung:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String ind
ex out of range: 0
at java.lang.String.charAt(String.java:455)
at RLE.makeShort(RLE.java:25)
at RLE.main(RLE.java:6)
ich hab folgendermaßen programmiert. kann jemand den fehler finden?
also ich wollte ne lauflängencodierung machen. z.b. aus AAADFGGG wird A3DFG3.
und ich bekomm immer die Fehlermeldung:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String ind
ex out of range: 0
at java.lang.String.charAt(String.java:455)
at RLE.makeShort(RLE.java:25)
at RLE.main(RLE.java:6)
ich hab folgendermaßen programmiert. kann jemand den fehler finden?
Code:
class Laenge {
public static void main(String args[]) {
String in = In.readString();
System.out.println(makeShort(in));
}
public static String makeShort(String in) {
StringBuffer out = new StringBuffer();
int j=1,i=1;
for(i=1; i<in.length(); i++) {
if(in.charAt(i) == in.charAt(i-1))
j++;
else {
if(j>1)
out.append(in.charAt(i-1)).append(j);
else
out.append(in.charAt(i-1));
j=1;
}
}
out.append(in.charAt(i-1));
if(j>1)
out.append(j);
return out.toString();
}
}