Sämtliche Zeichen ab einem bestimmten Index löschen public string remove(int startIndex)?

3 Antworten

Willst du den Rest des Strings leer haben oder soll der neue String dann eine reduzierte Länge haben? Also

"aaaa" -> remove(2) -> "aa  "

oder

"aaaa" -> remove(2) -> "aa"

Für ersteres kannst du z.B. StringBuilder.replace() nutzen und die hinteren Chars durch Leerstellen ersetzen.

Für letzteres würde sich eher StringBuilder.delete() anbieten.

Woher ich das weiß:Berufserfahrung

martin8324834 
Beitragsersteller
 17.04.2023, 12:18

den rest leer haben

0
Sämtliche Zeichen ab einem bestimmten Index löschen public string remove(int startIndex)?

Ja, ist möglich. Das muss aber ein neuer String sein, da in Java Strings nicht veränderbar sind.

Was ist jetzt genau deine Frage? Hier wird dir hoffentlich niemand direkt Code liefern für etwas, das wie Hausaufgabe klingt.

Was hast du schon, woran hängst du usw ...

Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)

martin8324834 
Beitragsersteller
 17.04.2023, 12:16

public String remove(int startindex[]){

System.out.println("Hallo Welt");

System.out.println("Geben Sie eine Zahl ein!");

String Zahl = scan.nextLine();

int length = startindex.length;

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

}

return Zahl;

}

0
xxxcyberxxx  17.04.2023, 12:19
@martin8324834
  1. wofür das Hallo Welt?
  2. Warum der Output "Geben Sie eine Zahl ein"?
  3. Warum ist dein startindex ein Int-Array und nicht einfach nur ein int?
  4. Warum übergibst du der Methode keinen String?
  5. Warum liest du einen NEUEN String ein?
  6. Wofür die Schleife, die sowieso genau nur einmal ausgeführt wird?
  7. Warum gibst du den String in der Variable Zahl ohne Veränderung zurück?
0
martin8324834 
Beitragsersteller
 17.04.2023, 12:29
@xxxcyberxxx

also wir müssen bei "Hallo Welt" einen Teil Rauslöschen, je nachdem welche indexanzahl man eingibt. z.B. man gibt 5 ein wird welt gelöscht. Bei den anderen ka bin schlecht in programmieren

0
xxxcyberxxx  17.04.2023, 12:41
@martin8324834
also wir müssen bei "Hallo Welt" einen Teil Rauslöschen, je nachdem welche indexanzahl man eingibt.

Dann solltest du nicht Hallo Welt ausgeben, sondern in einer Variable verwenden oder direkt damit arbeiten.

Statt ein integer-Array zu übergeben, übergibst du nur einen einzelnen Integer (die Anzahl der Zeichen).

Für deine Logik könntest du mit Char-Arrays und Schleifen arbeiten, aber die Klasse String bietet wir auch eine Methode, die du nutzen kannst, um das Problem einfach zu lösen: substring()

https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#substring(int,%20int)

Bei den anderen ka bin schlecht in programmieren

Nichts, woran man nicht arbeiten kann. Aber einfach nur Dinge hintereinanderklatschen, ohne sich Gedanken über die Logik zu machen, führt hallt nicht zum Ziel

0
xxxcyberxxx  17.04.2023, 12:44
@martin8324834
bitte

Ich werde dir keinen fertigen Code für deine Hausaufgabe geben. Ich hab dir mit der Methode substring schon einen großen Hinweis gegeben, den musst du nur noch verarbeiten.

Wenn du damit nicht umgehen kannst, schau dir noch einmal die Unterlagen zu allen Grundlagen bisher an ...

0
xxxcyberxxx  17.04.2023, 12:50
@martin8324834
das war ein befehl

Oh nein, jetzt hab ich aber Angst /s

Mach einfach deine Hausaufgaben, so schwer ist das nicht

0

Konvertier einfach den String in ein Char-Array und nimm einfach den Startindex-1. Dann nur noch mit einer schleife alles danach auf null setzen. That's it.

Code kannst du selber schreiben.