String bearbeiten

regtan

Aktives Mitglied
Hallo ich versuch ein string z.b. ("abcd") zu bearbeiten und sollte nach der Implementierung eine Methode so aussehen ("abbcccdddd"). Ich hab versucht irgendwie mit string.charAt () aber irgendwie schaff ich nicht von ein char in string zu addieren. Was würdet ihr mir empfehlen?
 

regtan

Aktives Mitglied
Java:
boolean wort(String s) {
   if (s !=null) {
     for (int i = 0; i < s.length(); i++) {
       char b = s.charAt(i);
       s  += (b * i);
       s= s.toString();
     }
   }
   return false;
}
 
Zuletzt bearbeitet von einem Moderator:

kiwara

Aktives Mitglied
Autsch.
Also warum das nicht klappen kann:

b ist ein char. (b * i) ist immer noch ein char und nicht wie du dir erhoffst derselbe char i-Mal. Wenn du vor allem einen String mit dem Operator += benutzt, hängst du die Zeichenkette an den Schluss, was aber letztendlich zu einer Endlosschleife führt.
Weiters ist s.toString() genau daselbe wie s.

Ich empfehle auf jeden Fall nicht den übergebenen String zu verwenden, sondern einen neuen leeren zu verwenden.
 

regtan

Aktives Mitglied
Aber wie könnte ich (b*i) richtig einsetzen?
Code:
     String a = "";
     if (s !=null) {
       for (int i = 0; i < s.length(); i++) {
         char b = s.charAt(i);
         a  = a + b;
       }return true;

     }return false;
 
Zuletzt bearbeitet von einem Moderator:

regtan

Aktives Mitglied
Ich hab es so versucht :
Code:
 boolean wort(String s) {
     String a = "";
     if (s !=null) {
       for (int i = 0; i < s.length(); i++) {    
         char b = s.charAt(i);
         int r = s.indexOf(i);          
         for (int j = 0; j < r; j++) {
           a  = a + b;
         } 
       }return true;
     }return false;
aber beim Probe irgendwas passt nicht. Kommt true wenn es false sein sollte.
 

kiwara

Aktives Mitglied
also in der inneren Schleife kannst du schon ruhig a+=b machen, ich meinte das mit der Endlosschleife nur im speziellen oberen Fall :)

Was war dein Input?
 
Zuletzt bearbeitet:

regtan

Aktives Mitglied
Oh ne ich hab die Aufgabe falsch verstanden. Ich Soll nur den String s überprüfen ob es in dem form ("abbcccdddd") ist oder nicht.
 

regtan

Aktives Mitglied
Ich versuch die Aufgabe zu lösen aber trotzdem geht nicht. Wo könnte der Fehler sein?
Code:
for (int i = 1; i < s.length(); i++) {    
         for (int j = 1; j < i ; j++) {
           char a = s.charAt(i);
           char b = s.charAt(i+1);
       
           if (a  != b) {
             return false;
           }
         }
     }return true;
ich glaube die zweite schleife ist nicht in ordnung aber was konnte ich andern? Kann man ungleischheit != bei char uberhaupt benutzen?
 
Zuletzt bearbeitet:

Neue Themen


Oben