Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

blanks in ein String einfügen

Empfohlene Antworten

hallo,

ich habe folgende aufgabe zu lösen. ich soll eine methode schreiben welche einen string übergeben bekommt und dann zwischen jedes zeichen von diesem string ein blank einfügt. nach dem letzten zeichen des strings soll allerdings kein blank eingefügt werden. und es soll laut aufgabenstellung keine if-anweisung im rumpf der schleife stehen. das ist wahrscheinlich auch mein problem. denn wenn die methode einen string bekommt welcher schon blanks enthält, soll ja an diesen stellen kein blank mehr rein. bisher sieht das ganze so bei mir aus


static public String blanksRein(String s) {

   StringBuilder mitBlank=new StringBuilder();


   for(int i=0;i<s.length();i++) {


     mitBlank.append(s.charAt(i));

     mitBlank.append(' ');

     }// for schleife


       return mitBlank.toString();

}//blanksRein



heir wird halt einfach abwechselnd immer ein zeichen des strings und ein blank in das string Builder objekt geschrieben. kann mir hier jemand helfen?

static public String blanksRein(String s) {

   StringBuilder mitBlank=new StringBuilder();


   for(int i=0;i<s.length() - 1;i++) {


     mitBlank.append(s.charAt(i));

     mitBlank.append(' ');

     }// for schleife

     mitBlank.append(s.charAt(s.length() - 1));

       return mitBlank.toString();

}//blanksRein

so hast du kein blank am ende ;)

Bearbeitet von elSusto
- 1 vergessen xD

finde die Aufgabenstellung etwas komisch, aber nunja.

Eine möglichkeit wäre, mittels "trim" erstmal bereits vorhandene Leerzeichen zu entfernen.

Dann kannst du nach deinem Schema nach jedem Zeichen einen Blank setzen (in einer Schleife).

Nach dem Schleifenbody entfernst du einfach das letzte zeichen des Strings, da dieses ja nun zwangsläufig ein Blank ist

EDIT: zu langsam :schlaf:

mmhhh "trim" funktioniert bei mir irgendwie nicht. was macht denn trim? wird von dem string ne kopie erstellt und dann alle blanks entfernt und dieser string dann zurückgegeben?

dann müsste ich das ja so schreiben

String r=s.trim();

mmhh versteh ich nich so richtig. ach so, ich find die aufgabenstellung auch blöd, aber die kommt von meinem prof. ein zitat von ihm zu dieser aufgabe:"vermeiden sie es, sich "mit einem if-regenschirm unter einer schleifen-dusche zu stellen" :D;)

Der Denkfehler ist, das java.lang.String.trim() nur führende und am ende des Strings vorhanden Leerzeichen löscht.

Der Denkfehler ist, das java.lang.String.trim() nur führende und am ende des Strings vorhanden Leerzeichen löscht.

dann hatte ich was Falsches in Erinnerung. Kann ja mal passieren, wenn man keine IDE zur Hand hat :P

Alternativ ließe es sich dann aber über ein "replaceAll" machen.

(Wenn das jetzt auch nicht stimmt, bin ich für heute ruhig :bimei)

1. Nimm deine Methode die du letzte Woche gemacht hast und entferne alle Leerzeichen aus dem String (Alternativ, falls du darfst- s.replace())

2. Geh mit einer Schleife alle chars außerde den letzten (s.length-2) und füge diese dann mit zusätzlichem Leerzeichen in einen neuen String ein.

3. kopiere den letzten char(s.length-1) auch noch mit dazu.

4. Das war jetzt bereits deine 3. Frage in bezug auf recht einfache String Anwendungen. Ich denke mal dein Ausbilder/Lehrer/WasAuchImmer will dir damit lernen wie du selbst Lösungen erarbeiten kannst. Foren können teilweise ganz gute Quellen sein, aber versuch vielleicht auch mal bisschen intensiver selbst auf die Lösung zu kommen.

Bearbeitet von speedi

dann hatte ich was Falsches in Erinnerung. Kann ja mal passieren, wenn man keine IDE zur Hand hat :P

Alternativ ließe es sich dann aber über ein "replaceAll" machen.

(Wenn das jetzt auch nicht stimmt, bin ich für heute ruhig :bimei)

Replace all ist richtig ;)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.