decodierung

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
hey leute kann mir bitte jemand helfen... man soll z.B. "A5" eingeben und das Prog soll AAAAA ausgeben.. aber es gibt nichts aus.. wo ist mein fehler? steh total auf der Leitung bitte um hilfe

Code:
class makelong {

     public static void main(String args[]) {
     String out = In.readString();
     System.out.println(makelong(out));	
     }
public static String makelong (String in) {
     StringBuffer out = new StringBuffer();
     
      for (int i = 0; i < out.length(); i++) {
        char currentChar = out.charAt(i);
        int count = 0;
        for (int j = i; j < out.length(); j++){
          if (Character.isDigit(out.charAt(i))){
            count = count * 10 + (out.charAt(i) - '0');
            }
        for (int n=j; n < count; n++)
          out.append(currentChar);
           }
      }
    return out.toString();
    }
}

danke schonmal im vorraus

mfg
 
S

Stier

Gast
Du übergibst die falschen Parameter. "out" wurde grade erst angelegt und hat die Länge 0. Frag mal die Länge von in ab.
 
B

bygones

Gast
Code:
StringBuffer out = new StringBuffer();
     
      for (int i = 0; i < out.length(); i++) {
du erstellst dir einen leeren buffer und dann willst durchlaufen... das geht natürlich nicht.

ich würde den String mit einem regex in zwei teile trennen (wenn kein festes format definiert ist) , der zweiter Teil gibt an, wie oft man den ersten Teil dann ausgeben muss...

Code:
 count = count * 10 + (out.charAt(i) - '0');
die berechnung so wie die schleifen versteh ich nicht wirklich
 
G

Guest

Gast
hat jemand eine idee wie ich das anders machen könnte?

mfg
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben