CodeGym
Aktion
Lernen
Kurse
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan für Motivation
Community
Benutzer
Forum
Chat
Artikel
Erfolgsstorys
Aktivität
Rezensionen
Abonnements
Helles Design
Frage
  • Rezensionen
  • Über uns
Start
Jetzt lernen
Jetzt lernen
  • Alle Fragen
CodeGym/Hilfe bei Java-Aufgaben/Whats wrong with the code
hidden #10618197
Level 16
  • 13.08.2020
  • 568Aufrufe
  • 5Kommentare

Whats wrong with the code

Frage zur Aufgabe R oder L
Java Syntax,  Level 7,  Lektion 9
In der Diskussion


1. Erstelle eine Liste von Wörtern und fülle sie selbst aus.
2. Die korrigieren-Methode muss:
2.1. alle Wörter aus der Liste entfernen, die den Buchstaben „r“ enthalten.
2.2. alle Wörter duplizieren, die den Buchstaben „l“ enthalten.
2.3. wenn ein Wort sowohl „r“ als auch „l“ enthält, dann machen wir nichts.
2.4. alle anderen Wörter unangetastet lassen.

Zum Beispiel:
Rose
Leier
Liebe

Ausgabe:
Leier
Liebe
Liebe

Anforderungen:
  • Das Programm darf keine Daten von der Tastatur lesen.
  • Die korrigieren-Methode muss alle Wörter, die den Buchstaben "r" enthalten, aus der Liste entfernen. Es gibt eine Ausnahme: Wörter, die sowohl "r" als auch "l" enthalten, müssen unangetastet bleiben.
  • Die korrigieren-Methode muss Wörter mit dem Buchstaben "l" duplizieren (eine weitere Instanz dieses Wortes zur Liste hinzufügen). Es gibt eine Ausnahme: Wörter, die sowohl "l" als auch "r" enthalten, dürfen nicht dupliziert werden.
  • Die korrigieren-Methode muss Wörter, die sowohl "l" als auch "r" enthalten, unangetastet lassen.
  • Die korrigieren-Methode muss Wörter, die weder "l" noch "r" enthalten, unangetastet lassen.
package de.codegym.task.task07.task0716; import java.util.ArrayList; /* R oder L */ public class Solution { public static void main(String[] args) throws Exception { ArrayList<String> liste = new ArrayList<>(); liste.add("Rose"); // 0 liste.add("Liebe"); // 1 liste.add("Leier"); // 2 liste = korrigieren(liste); for (String s : liste) { System.out.println(s); } System.out.println(liste); } public static ArrayList<String> korrigieren(ArrayList<String> liste) { for (int i = 0; i < liste.size(); i++) { if (liste.get(i).contains("l") || liste.get(i).contains("L")) liste.add(i,liste.get(i)); if ((liste.get(i).contains("r") || liste.get(i).contains("R")) && (!(liste.get(i).contains("l") || liste.get(i).contains("l")))) liste.remove(i); }// schreib hier deinen Code return liste; } }
0
Kommentare (5)
  • Beliebt
  • Neu
  • Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
hidden #10618197
Level 16
15 August 2020, 18:04
oh thanks people. But I already fixed my problem. It was the uppercase and lowercase. And I forgot "i++" after liste.add method, and the "i--" after liste.remove. now it works. but thank you for the answers.
0
Max
Level 9 , Germany
15 August 2020, 07:06
instead of "contains" try "indexOf() and enter the letter into the brackets, you wish to find. Search the internet for the reason, why indexOf() possibly is the better solution. if you add an element to the list, then make sure, your counter jumps to the next element to check. Otherwise you would check the added element and add another one by mistake. You might also want to decrement your counter in order to check the right position after removing an element.
+1
Claudia Theiling
Level 18 , Lüneburg, Germany
14 August 2020, 17:40
Hi, in your first if - statement you don't check for the "r". ;)
0
Misiu
Level 41 , Gdansk, Poland
13 August 2020, 22:04
You may not change a list which is iterated. Make a copy of liste. Do checking in copy. Add, remove to/from liste.
0
hidden #10618197
Level 16
13 August 2020, 18:41
Line 20 is only for me, to see whats inside my List
0
Lernen
  • Registrierung
  • Java-Kurs
  • Hilfe zu Aufgaben
  • Preise
  • Java Syntax
Community
  • Benutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsstorys
  • Aktivität
  • Partnerprogramm
Unternehmen
  • Über uns
  • Kontakt
  • Rezensionen
  • Medien
  • CodeGym für Bildung
  • Häufig gestellte Fragen
  • Support
CodeGym CodeGym ist ein Java-Tutorial zum Lernen von Java von Grund auf. Dieser Kurs ist perfekt dafür geeignet, Java von Beginn an zu meistern. Er enthält über 1200 Aufgaben mit Sofortüberprüfung und grundlegende Theorie zu den Java-Grundlagen. Damit auch du bei deinem Kurs erfolgreich bist, haben wir eine ganze Reihe motivierender Inhalte: Quizfragen, Programmierprojekte, Inhalte zu effizientem Lernen und zum Berufseinstieg als Java-Entwickler.
Folgen
Interface-sprache
English
Deutsch
Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
Programmierer werden gemacht, nicht geboren © 2025 CodeGym
MastercardVisa
Programmierer werden gemacht, nicht geboren © 2025 CodeGym