CodeGym
Aktion
Lernen
Kurse
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan
Community
Nutzer
Forum
Chat
Artikel
Erfolgsgeschichten
Aktivität
Bewertungen
Abonnements
Helles Design
Frage
  • Bewertungen
  • Über uns
Start
Jetzt lernen
Jetzt lernen
  • Alle Fragen
CodeGym/Hilfe bei Java-Aufgaben/kann mir da jemand weiterhelfen?
hidden #10625598
Level 23
  • 27.05.20
  • 781Aufrufe
  • 5Kommentare

kann mir da jemand weiterhelfen?

Frage zur Aufgabe Vokale und Konsonanten
Java Syntax,  Level 9,  Lektion 11
In Diskussion


Schreibe ein Programm, das eine Zeichenkette von der Tastatur liest.
Das Programm muss zwei Zeilen anzeigen:
1. Die erste Zeile enthält nur die Vokale der eingegebenen Zeichenkette.
2. Die zweite enthält nur die Konsonanten und Satzzeichen der eingegebenen Zeichenkette.
Die Buchstaben müssen durch ein Leerzeichen getrennt sein, jede Zeile muss mit einem Leerzeichen enden.

Beispiel-Eingabe:
Sam i am.

Beispiel-Ausgabe:
a I A
S m m .

Anforderungen:
  • Das Programm muss Daten von der Tastatur einlesen.
  • Das Programm muss zwei Zeilen anzeigen.
  • Die erste Zeile darf nur die Vokale aus der eingegebenen Zeichenkette enthalten, getrennt durch ein Leerzeichen.
  • Die zweite Zeile darf nur die Konsonanten und Satzzeichen der eingegebenen Zeichenkette enthalten, getrennt durch ein Leerzeichen.
  • Jede Zeile muss mit einem Leerzeichen enden.
package de.codegym.task.task09.task0923; import java.util.*; import java.io.*; /* Vokale und Konsonanten */ public class Solution { public static char[] vokale = new char[]{'a', 'e', 'i', 'o', 'u'}; public static void main(String[] args) throws Exception { // schreib hier deinen Code BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); char s = Character.parseChararacter(reader.readLine()); ArrayList<Character> listeVokale = new ArrayList<>(); ArrayList<Character> listeKonson = new ArrayList<>(); while(true){ if(istVokal(s).euals(true)){ listeVokale.add(istVokal); } else if(istVokal(s).equals(false)){ listeKonson.add(istVokal); } else if(istVokal.isEmpty()){ break; } } } // Die Methode überprüft, ob ein Buchstabe ein Vokal ist public static boolean istVokal(char c) { c = Character.toLowerCase(c); // In Kleinbuchstaben umwandeln for (char d : vokale) // Suche im Array nach Vokalen { if (c == d) return true; } return false; } }
0
Kommentare (5)
  • Beliebt
  • Neu
  • Alt
Sie müssen angemeldet sein um einen Kommentar zu hinterlassen
Thomas
Level 41 , Bayreuth, Germany
27 Mai 2020, 19:51
Zeile 17 parseChararacter() musst du erst implementieren... oder du nimmst String charAt() istVokal(s).equals(false), das ist falsch. Auf einen Boolschen Wert kann man kein equals aufrufen. Der Rückgabewert der Methode ist doch schon true oder false.
0
hidden #10625598
Level 23
28 Mai 2020, 16:33
Also gut neuer versuch :) soweit so gut, nur, wie werde ich die leeren stellen los? und wie entstehen diese eigentlich? ich sortiere ja nicht aus, ich füge der jeweiligen liste den char hinzu? mein output ist: a I A S m m . public static void main(String[] args) throws Exception { // schreib hier deinen Code BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String str = reader.readLine(); ArrayList<Character> listeVokale = new ArrayList<>(); ArrayList<Character> listeKonsonanten = new ArrayList<>(); for(int i = 0; i < str.length(); i++){ char c = str.charAt(i); if(istVokal(c) == true){ listeVokale.add(c); } else{ listeKonsonanten.add(c); } } for(int i = 0; i < listeVokale.size(); i++){ System.out.print(listeVokale.get(i) + " "); } System.out.println(); for(int i = 0; i < listeKonsonanten.size(); i++){ System.out.print(listeKonsonanten.get(i) + " "); } } und aus welchem Grund wird denn I und A groß ausgegeben? wird ja klein eingelesen, wegen Anfangsbuchstaben? wie müsste man das für zukünftige aufgaben richtig machen bzw. mit toLowerCase würde man das S von Sam auch verkleinern, was falsch wäre? danke schon mal :)
0
Thomas
Level 41 , Bayreuth, Germany
28 Mai 2020, 17:50
Sieht doch schon mal nicht schlecht aus. Bei der Eingabe Sam I am bekomme ich a I a S m m also alles OK, bis auf die Leerzeichen in der Eingabe... die musst du noch rausfiltern. Ansonsten erscheinen sie bei den Konsonanten Das mit dem I A groß in der Aufgabenstellung meinst du? Da würde ich nicht allzuviel Wert drauf legen. Ist bestimmt ein Fehler und die meinten als Eingabe Sam I Am
+1
hidden #10625598
Level 23
29 Mai 2020, 06:17
also um die leerzeichen loszuwerden müsste man sowas verwenden oder? else if (!(isEmpty(c))) { oder - else if (istVokal(c) == false) { oder hast du mir einen tipp? ich komm nicht drauf
0
Thomas
Level 41 , Bayreuth, Germany
29 Mai 2020, 06:31
char ist ein primitive. Da gibt es keine Methoden. Du könntest es zu Character autoboxen, isEmpty() wäre dann aber auch nicht OK, da es ja nicht empty ist sondern ein Leerzeichen enthält (mit dem Wert 32 glaub ich). Sowas kannst du natürlich immer machen:
if (c != ' ') {...
oder gleich aus dem ursprünglichen String löschen mit
String str = reader.readLine().replaceAll("\\s+", "");
+5
Lernen
  • Registrierung
  • Java-Kurs
  • Hilfe bei Aufgaben
  • Preise
  • Java-Syntax
Community
  • Nutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsgeschichten
  • Aktivität
  • Partnerprogramm
Unternehmen
  • Über uns
  • Kontakte
  • Bewertungen
  • Presse
  • CodeGym for EDU
  • FAQ
  • Support
CodeGymCodeGym ist ein Online-Kurs zum Erlernen der Java-Programmierung von Grund auf. Dieser Kurs ist eine perfekte Möglichkeit, Java als Anfänger zu meistern. Er enthält über 1200 Aufgaben mit sofortiger Überprüfung und einen wesentlichen Umfang an Java-Grundlagentheorie. Um Ihren Lernerfolg zu unterstützen, haben wir eine Reihe motivierender Funktionen implementiert: Quizze, Programmierprojekte, Inhalte zum effizienten Lernen und Karriereinformationen für Java-Entwickler.
Folgen Sie uns
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" © 2026 CodeGym
MastercardVisa
"Programmierer werden gemacht, nicht geboren" © 2026 CodeGym