Beliebig viele Worte

elenaellielena

Neues Mitglied
Hallo!

Ich habe jetzt das erste Semester Programmieren und hab ein Übungsbeispiel bei dem ich einfach nicht weiterkomme. Vielleicht kann mir jemand von euch helfen.

Schreiben Sie eine Klasse kleingross an die eine Zahl (n) und beliebig viele Worte übergeben
werden.
Die Funktion wandelt die übergebenen Worte in Kleinbuchstaben um, nur jeder n-te
Buchstabe eines Wortes soll ein Großbuchstabe sein. Die so umgewandelten Worte werden
von der Funktion durch Strichpunkte getrennt zurückgeliefert.
Kommt in einem Wort etwas anderes als ein Buchstabe vor, so wird das Wort ignoriert.
Beispiel:
Eingabe: 3, „Ich“, „Tarzan“, „Uff!“, „Du“, „Jane“
Ausgabe: „icH;taRzaN;du;jaNe“
Anmerkung: „Uff!“ wurde wegen des Rufzeichens ignoriert.

Ja das wäre das Beispiel. Wenn jemand helfen könnte wäre es super. Am besten mit nicht so schwärten Methoden, weil so weit bin ich ja noch nicht. Ich komm nicht drauf wie man beliebig viele Worte vom User eingeben lassen kann.

Danke schon mal! 🙂
 
Nur das du wenigstens schonmal irgend einen Ansatz hast 😉

Java:
public class KleinGross{

public KleinGross(int n, String...strings){
  //dein Code
}
}

[TIPP]falls du nicht wissen solltest was diese Syntax bedeutet
Code:
String...strings
, es bedeutet das der Konstruktor beliebig viele (Strings in dem Fall ) entgegen nimmt und dir daraus ein Array der übergebenen Worte erstellt.[/TIPP]
 
Zuletzt bearbeitet:
Ich empfehle dir ein Array oder eine ArrayList von Strings zu nehmen und dieses zu übergeben.

Dadurch hast du immer genau 2 Parameter in deiner Methode mit denen du allerdings beliebig viele Strings (im Array bzw der ArrayList) übergeben kannst.

Nun kannst du jedes Wort einzelnd analysieren und zunächst komplett in Kleinbuchstaben (toLowerCase()) und anschließend jedes n-te Zeichen eines Wortes wieder in Großbuchstaben (toUpperCase()) übergeben.

Letzteres kannst du machen in dem du jeden n-ten Substring ermittelst oder das Wort mittels split() in ein Array übergibst, wobei jeder Buchstabe dann ein Feld des Arrays ist.
Somit kannst du wieder jedes n-te Zeichen in Großbuchstaben und alle anderen in Kleinbuchstaben übergeben und deinen String wieder zusammensetzen.


Gruß
 
Sicher kann man es auch so machen und ein Array oder eine Liste übergeben, oder man macht es halt mit varargs, und kann ebend soviel Parameter übergeben wie man ebend möchte, das Ergebnis ist das selbe, die Syntax ebend eine andere 🙂
 

Neue Themen


Zurück
Oben