ArrayList - Progrämmchen

Levitas

Mitglied
Hey Leute,

ich hab versucht ein kleines arraylist-programm zu schreiben, welches folgendes können sollte:

- es verwaltet eine cd-sammlung
- es können titel der jeweiligen cd hinzugefügt werden
- es können titel der jeweiligen cd entfernt werden
- es kann die Liste der CD-Sammlung ausgegeben werden
- es kann die Liste der CD-Sammlung in txt-File ausgegeben werden
- es kann aus dem File gelesen werden

Allerings tauchen ein paar Fehler auf, welche ich nicht lösen kann. Ich hoffe ihr wisst Rat! :)

Der Code:

Java:
import java.util.*;
import java.io.*;

public class CdListe {
		
		///////// Erzeugen der Einlesefunktion von der Tastatur ////////////
		
		private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		// Liest Zeichen vom Typ String ein
		public static String inpString(){
			while(true){
				try{
					return br.readLine();
				}
				catch(Exception e){
					System.out.println("Es ist folgender Fehler aufgetreten: " + e);
				}
			}
		}
		
		
		///////// Erzeugen einer ArrayList liste
		
		public static ArrayList liste = new ArrayList();
		
		
		
		//////// Eingabeaufforderung und Eingabe durch Benutzer /////////////
		
		public static String eingabe(){
			String titel;
			System.out.println("Geben Sie bitte den Titel der CD ein: ");
			titel inpString;
			return titel;
		} // Ende eingabe()
		
		
		
		/////// Ausgabe der Liste //////////////////////////
		
		public static void listeAusgeben(ArrayList liste) {
			for (Iterator e = liste.iterator(); e.hasNext();) {
				System.out.println(e.next());
			}
		} // Ende listeAusgeben
		
		
		
		/////// Titel hinzufügen //////////////////////////
		
		public static void hinzufuegen(ArrayList liste, String neuerEintrag){
			liste.add(neuerEintrag);
		} // Ende hinzufuegen
		
		
		
		////// Titel löschen ////////////////////////
		
		public static void loeschen(ArrayList liste){
			String titel;
			char abfrage;
			System.out.println("Welchen Titel wollen Sie löschen?");
			titel = inpString();
			int count = 0;
			
			for (Iterator e = liste.iterator(); e.hasNext();) {
				Object aktuellerEintrag = e.next();
				if (aktuellerEintrag.toString().startsWith(titel)) {
					count = count + 1;
					System.out.print("Wollen Sie den Eintrag "
					+ aktuellerEintrag.toString() + "  löschen? (j/n)");
					abfrage = inpChar();
					if (abfrage == 'j' || abfrage == 'J') {
						liste.remove(liste.indexOf(aktuellerEintrag));
						break;
					}
				}
			}
			if (count == 0)
				System.out.println("Der Name der gelöscht werden soll, wurde nicht gefunden!");
		
		
		} // Ende loeschen
		
		
		
		////// Liste in txt-File ausgeben //////////////////////
		
		public static void speichereListe(){
		try{
			
			PrintWriter pw = new PrintWriter("CD-Liste.txt");
			pw.print(liste);
			pw.close();
			}
			
			catch (Exception e){
				System.out.print(e);
			}
		} // Ende speichereListe
		
		
		
		////// Lese aus File CD-Liste.txt ////////////////////////
		
		public static void ladeListe(){
			FileInputStream rein;
			try {
				rein = new FileInputStream("CD-Liste.txt");
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			}
			
			try {
				ObjectInputStream input = new ObjectInputStream(rein);
				liste = (ArrayList) input.readObject();
			} catch (IOException e) {
				e.printStackTrace();
			}
			
			
		} // Ende ladeListe
		
		
		
		
		
		public static void main(String[] args){	
			boolean abbruch = true;
			do{
			System.out.println("************* CD-Listen-Verwaltung *************");
			System.out.println();
			System.out.println("Sie haben folgende Auswahlmöglichkeiten: ");
			System.out.println();
			System.out.println("(1) Titel hinzufügen");
			System.out.println("(2) Titel entfernen");
			System.out.println("(3) Ausgabe der aktuellen Liste");
			System.out.println("(4) Ausgabe der Liste in ein TXT-File");
			System.out.println("(5) Lesen aus TXT-File");
			System.out.println();
			System.out.println("(0) Programm beenden");
			System.out.println();
			System.out.println("***********************************************");
			
			int auswahl = inpInt();
			
			switch(auswahl){
					case 1: {
						System.out.println();
						hinzufuegen(liste, hinzufuegen());
						System.out.println();
						break;
					}
					
					case 2: {
						System.out.println();
						loeschen(liste);
						System.out.println();
						break;
					}
					
					case 3: {
						ladeListe();
						System.out.println();
						System.out.println("Liste geladen!");
						System.out.println();
						break;
					}
					
					case 4: {
						speichereListe();
						System.out.println();
						System.out.println("Liste gespeichert!");
						System.out.println();
						break;
					}
					
					case 5: {
						System.out.println();
						listeAusgeben(liste);
						System.out.println();
						break;
					}
					
					case 0: {
						abbruch = false;
						break;
					}
					default: {
						break;
					}		
				}//Ende switch
			}//Ende do 

			while (abbruch);

	} // Ende main
	
} // Ende Klasse CdListe

Vielen Danke schonmal!

Levitas
 

Levitas

Mitglied
Deine Glaskugel =)

also... hatte n problem noch mit den inp-methoden... das hab ich jetzt grade gelöst... jetz nur noch folgende fehler:

Java:
public static String eingabe(){
			String titel;
			System.out.println("Geben Sie bitte den Titel der CD ein: ");
			titel inpString; //HIER KOMMT EIN FEHLER
			return titel;
		} // Ende eingabe()

und hier:

Java:
try {
				ObjectInputStream input = new ObjectInputStream(rein);
				liste = (ArrayList) input.readObject();
			} catch (IOException e) {
				e.printStackTrace();
			}
 

ARadauer

Top Contributor
Code:
 hinzufuegen(liste, hinzufuegen());
wieso hinzufuegen()?? das hast du falsch abgeschrieben.. da brauchst du einen String... also eher..
Code:
hinzufuegen(liste, inpString());
weiter hab ich nciht geschaut...
 

Final_Striker

Top Contributor
Java:
public static String eingabe(){

			System.out.println("Geben Sie bitte den Titel der CD ein: ");
			return inpString();

		} // Ende eingabe()
 

ARadauer

Top Contributor
asso...
also

Code:
hinzufuegen(liste, eingabe());
..
und statt
Code:
  titel inpString; //HIER KOMMT EIN FEHLER
schreibst du..

Code:
  titel = inpString(); //in verwirrenden Threads nachher noch code ändern... das macht fun
du willst ja die Methode aufrufen...
 
Zuletzt bearbeitet:

Levitas

Mitglied
danke schonmal für die Antworten, aber das Proble ist leider immer noch nicht ganz gelöst. Die Fehler verstecken sich immer noch, trotz der umänderungen, welche außerdem völlig korrekt sind(danke), in folgenden Abschnitten:

Java:
public static String eingabe(){
			String titel;
			System.out.println("Geben Sie bitte den Titel der CD ein: ");
			titel inpString(); //immernoch da trotz der klammern
			return titel;
		} // Ende eingabe()

und hier:

Java:
public static void ladeListe(){
			FileInputStream rein;
			try {
				FileInputStream eingabe = new FileInputStream("CD-Liste.txt");
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			}
			
			try {
				ObjectInputStream input = new ObjectInputStream(eingabe); //hier bei eingabe
				liste = (ArrayList) input.readObject();
			} catch (IOException e) {
				e.printStackTrace();
			}
			
			
		} // Ende ladeListe
 

Levitas

Mitglied
nicht dass es jetzt aller verwirrend wird... hier nochmal der komplette geänderte code:

Java:
import java.util.*;
import java.io.*;

/*
 * Das Programm umfasst folgende Funktionen:
 * - es verwaltet eine cd-sammlung
 * - es können titel der jeweiligen cd hinzugefügt werden
 * - es können titel der jeweiligen cd entfernt werden
 * - es kann die Liste der CD-Sammlung ausgegeben werden
 * - es kann die Liste der CD-Sammlung in txt-File ausgegeben werden
 * - es kann aus dem File gelesen werden
 */
public class CdListe {
		
		///////// Erzeugen der Einlesefunktion von der Tastatur ////////////
		
		private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		// Liest Zeichen vom Typ String ein
		public static String inpString(){
			while(true){
				try{
					return br.readLine();
				}
				catch(Exception e){
					System.out.println("Es ist folgender Fehler aufgetreten: " + e);
				}
			}
		}
		
		
		///////// Erzeugen einer ArrayList liste
		
		public static ArrayList liste = new ArrayList();
		
		
		
		public static char inpChar() {
			String buffer;
			while (true) {
				try {
					buffer = br.readLine();
					return buffer.charAt(0);
				} catch (Exception e) {
					System.err.println("Eingabefehler");
				}
			}
		}
		
		
		public static int inpInt() {
			while (true) {
				try {
					return Integer.parseInt(br.readLine());
				} catch (Exception e) {
					System.err.println("Eingabefehler");
				}
			}
		}
		
		//////// Eingabeaufforderung und Eingabe durch Benutzer /////////////
		
		public static String eingabe(){
			String titel;
			System.out.println("Geben Sie bitte den Titel der CD ein: ");
			titel inpString();
			return titel;
		} // Ende eingabe()
		
		
		
		/////// Ausgabe der Liste //////////////////////////
		
		public static void listeAusgeben(ArrayList liste) {
			for (Iterator e = liste.iterator(); e.hasNext();) {
				System.out.println(e.next());
			}
		} // Ende listeAusgeben
		
		
		
		/////// Titel hinzufügen //////////////////////////
		
		public static void hinzufuegen(ArrayList liste, String neuerEintrag){
			liste.add(neuerEintrag);
		} // Ende hinzufuegen
		
		
		
		////// Titel löschen ////////////////////////
		
		public static void loeschen(ArrayList liste){
			String titel;
			char abfrage;
			System.out.println("Welchen Titel wollen Sie löschen?");
			titel = inpString();
			int count = 0;
			
			for (Iterator e = liste.iterator(); e.hasNext();) {
				Object aktuellerEintrag = e.next();
				if (aktuellerEintrag.toString().startsWith(titel)) {
					count = count + 1;
					System.out.print("Wollen Sie den Eintrag "
					+ aktuellerEintrag.toString() + "  löschen? (j/n)");
					abfrage = inpChar();
					if (abfrage == 'j' || abfrage == 'J') {
						liste.remove(liste.indexOf(aktuellerEintrag));
						break;
					}
				}
			}
			if (count == 0)
				System.out.println("Der Name der gelöscht werden soll, wurde nicht gefunden!");
		
		
		} // Ende loeschen
		
		
		
		////// Liste in txt-File ausgeben //////////////////////
		
		public static void speichereListe(){
		try{
			
			PrintWriter pw = new PrintWriter("CD-Liste.txt");
			pw.print(liste);
			pw.close();
			}
			
			catch (Exception e){
				System.out.print(e);
			}
		} // Ende speichereListe
		
		
		
		////// Lese aus File CD-Liste.txt ////////////////////////
		
		public static void ladeListe(){
			FileInputStream rein;
			try {
				FileInputStream eingabe = new FileInputStream("CD-Liste.txt");
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			}
			
			try {
				ObjectInputStream input = new ObjectInputStream(eingabe);
				liste = (ArrayList) input.readObject();
			} catch (IOException e) {
				e.printStackTrace();
			}
			
			
		} // Ende ladeListe
		
		
		
		
		
		public static void main(String[] args){	
			boolean abbruch = true;
			do{
			System.out.println("************* CD-Listen-Verwaltung *************");
			System.out.println();
			System.out.println("Sie haben folgende Auswahlmöglichkeiten: ");
			System.out.println();
			System.out.println("(1) Titel hinzufügen");
			System.out.println("(2) Titel entfernen");
			System.out.println("(3) Ausgabe der aktuellen Liste");
			System.out.println("(4) Ausgabe der Liste in ein TXT-File");
			System.out.println("(5) Lesen aus TXT-File");
			System.out.println();
			System.out.println("(0) Programm beenden");
			System.out.println();
			System.out.println("***********************************************");
			
			int auswahl = inpInt();
			
			switch(auswahl){
					case 1: {
						System.out.println();
						hinzufuegen(liste, eingabe());
						System.out.println();
						break;
					}
					
					case 2: {
						System.out.println();
						loeschen(liste);
						System.out.println();
						break;
					}
					
					case 3: {
						ladeListe();
						System.out.println();
						System.out.println("Liste geladen!");
						System.out.println();
						break;
					}
					
					case 4: {
						speichereListe();
						System.out.println();
						System.out.println("Liste gespeichert!");
						System.out.println();
						break;
					}
					
					case 5: {
						System.out.println();
						listeAusgeben(liste);
						System.out.println();
						break;
					}
					
					case 0: {
						abbruch = false;
						break;
					}
					default: {
						break;
					}		
				}//Ende switch
			}//Ende do 

			while (abbruch);

	} // Ende main
	
} // Ende Klasse CdListe
 
S

SlaterB

Gast
> titel inpString(); //immernoch da trotz der klammern

function & Final_Striker haben es richtig vorgeschlagen, du hast ausgerechnet den falschen Tipp von ARadauer verwendet ;)

was ist überhaupt bei der anderen Sache los,
bekommst du keine vollständigen Fehlermeldungen, die du hier posten könntest?
 

Levitas

Mitglied
ou sorry ja stimmt... bin schon etwas ko... scheiss prüfungsstress =)

ok das erste problem ist jetz endgültig gelöst und bei dem anderen problem kommt folgende fehlermeldung:

Java:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	eingabe cannot be resolved

	at CdListe.ladeListe(CdListe.java:149)
	at CdListe.main(CdListe.java:197)
 

ARadauer

Top Contributor
Java:
        ////// Lese aus File CD-Liste.txt ////////////////////////
        
        public static void ladeListe()  {
            FileInputStream rein = null;
            try {
                 rein = new FileInputStream("CD-Liste.txt");
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            
            try {
                ObjectInputStream input = new ObjectInputStream(rein);
                liste = (ArrayList) input.readObject();
            } catch (Exception e) {
                e.printStackTrace();
            }
            
            
        } // Ende ladeListe

ach slater... heute bist wieder streng:
titel = inpString();
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
kodela ArrayList wird nicht komplett gespeichert Allgemeine Java-Themen 3
M ArrayList oder LinkedList Allgemeine Java-Themen 10
C Sortieren und Selektieren einer ArrayList<Point3D> Allgemeine Java-Themen 6
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
B Type mismatch: cannot convert from Graph.Edge to ArrayList<Graph.Edge> Allgemeine Java-Themen 21
R ArrayList Allgemeine Java-Themen 4
G jToggleButton in Array/ArrayList Allgemeine Java-Themen 12
J ArrayList, ganze Zeilen löschen oder überspringen Allgemeine Java-Themen 4
L ArrayList sortieren Allgemeine Java-Themen 2
C ArrayList Problem Allgemeine Java-Themen 3
O Datentypen Wie kann ich den Typ einer ArrayList abfragen ? Allgemeine Java-Themen 7
S Best Practices CopyConstrutor mit ArrayList Allgemeine Java-Themen 1
S ArrayList Design Allgemeine Java-Themen 4
S Array dynamisieren oder ArrayList verwenden? Allgemeine Java-Themen 17
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
H Elemente aus ArrayList in Array speichern Allgemeine Java-Themen 8
MiMa Person in einer Arraylist hinzugügen mit Prüfung ? Allgemeine Java-Themen 6
X Adjazenzliste ohne ArrayList Allgemeine Java-Themen 6
X Output von ArrayList Allgemeine Java-Themen 3
H Stream in ArrayList umwandeln Allgemeine Java-Themen 2
H Mehrere Datentypen in einer Arraylist speichern Allgemeine Java-Themen 9
H Arraylist mit anderer ArrayList überschreiben Allgemeine Java-Themen 17
MiMa ArrayList sortieren?? Allgemeine Java-Themen 5
Curtis_MC Pointer mit ArrayList vergleichen Allgemeine Java-Themen 6
F ArrayList`s in Klassen mit Getter/Setter Allgemeine Java-Themen 8
W Array vs. ArrayList vs. HashMap Allgemeine Java-Themen 20
F Arraylist vollständig abspeichern und laden Allgemeine Java-Themen 1
R Arraylist in andere Klasse leiten und bearbeiten Allgemeine Java-Themen 10
D ArrayList Indexlänge ändern Allgemeine Java-Themen 2
E Elemente innerhalb einer ArrayList vergleichen Allgemeine Java-Themen 33
K ursprüngliche ArrayList ändert sich bei Übergabe in Methode Allgemeine Java-Themen 18
N Mehrdimensionale ArrayList mischen Allgemeine Java-Themen 10
S JTable - mehrere ausgewählte Rows in ArrayList Allgemeine Java-Themen 5
MiMa Date aus einer ArrayList<Date> holen ?? Allgemeine Java-Themen 5
MiMa ArrayList Rückgabewerte aus einer Funktion Allgemeine Java-Themen 15
L CSV File lesen, in ArrayList speichern und ausgeben Allgemeine Java-Themen 3
M Was geschieht mit Java-Klasse, die aus ArrayList entfernt wird? Allgemeine Java-Themen 10
M Methoden Generische Methode für ArrayList Allgemeine Java-Themen 7
T Collections ArrayList Sortieren Allgemeine Java-Themen 4
P GUI: ArrayList anzeigen funktioniert nicht Allgemeine Java-Themen 5
H ArrayList: Leere Elemente finden? Allgemeine Java-Themen 2
GreenTeaYT Verständnisprobleme zur Arraylist Allgemeine Java-Themen 1
T Methoden Methode zum durchsuchen einer ArrayList Allgemeine Java-Themen 8
K ArrayList sortieren Allgemeine Java-Themen 16
A Bestimmte Inhalte aus ArrayList 1 in ArrayList 2 kopieren Allgemeine Java-Themen 6
S Mehrdimensionales ArrayList ins HashSet Allgemeine Java-Themen 10
C ArrayList Allgemeine Java-Themen 8
Streeber Probleme mit AWT-EventQueue: ArrayList Elemente hinzufügen Allgemeine Java-Themen 1
F Methoden Arraylist weiterverwenden nach methoden Aufruf Allgemeine Java-Themen 2
Z NullPointerException beim Schreiben einer ArrayList in eine Datei Allgemeine Java-Themen 6
L Von ArrayList abgeleitete Klasse nur mit bestimmten Objekten füllen Allgemeine Java-Themen 1
K Array in ArrayList Allgemeine Java-Themen 16
Paul15 2D Arraylist in Jtable Allgemeine Java-Themen 1
Paul15 Arraylist 2D Allgemeine Java-Themen 8
B ArrayList in ein Objekt legen Allgemeine Java-Themen 1
Neumi5694 Datentypen ArrayList vs TreeMap Allgemeine Java-Themen 6
F ArrayList Allgemeine Java-Themen 11
X ArrayList will nicht so wie ich will. Hilfe Allgemeine Java-Themen 8
N ArrayList in eigenem Object nicht richtig serialisierbar Allgemeine Java-Themen 14
M ArrayList mit verschiedenen Datentypen in String konvertieren Allgemeine Java-Themen 10
Z Elemente einer ArrayList von rechts wegnehmen Allgemeine Java-Themen 5
W Arraylist Text Suchen und Datei löschen Allgemeine Java-Themen 5
R ArrayList und HashMap Allgemeine Java-Themen 7
T ArrayList zeilenumbruch entfernen Allgemeine Java-Themen 13
D Arraylist/For Schleife/Scanner Allgemeine Java-Themen 30
E ArrayList Anzahl der gleichen Elemente Allgemeine Java-Themen 4
Doopy ArrayList plötzlich leer Allgemeine Java-Themen 2
D Arraylist eigener Klasse an iReport übergeben Allgemeine Java-Themen 7
L ArrayList Inhaltstyp. Allgemeine Java-Themen 5
Z Klassen ArrayList selbst machen Allgemeine Java-Themen 5
J Arraylist speichern und laden? Allgemeine Java-Themen 5
C Generics Objekt in ArrayList Allgemeine Java-Themen 2
D ArrayList index auf gültigkeit prüfen Allgemeine Java-Themen 12
M ArrayList<String> Frage Allgemeine Java-Themen 7
O ArrayList kaputt?! Allgemeine Java-Themen 5
M ArrayList<Foo> in ein Foo[] konvertieren? Allgemeine Java-Themen 8
Bananabert Abstract ArrayList Allgemeine Java-Themen 4
A Collections Array-Elemente in ArrayList kopieren ohne Schleife Allgemeine Java-Themen 7
O ArrayList - Serialisierungs-Problem Allgemeine Java-Themen 11
M JTable + ArrayList Allgemeine Java-Themen 3
M Datentypen ArrayList in Integer konvertieren Allgemeine Java-Themen 3
O Collections ListIterator gibt Inhalt von ArrayList nicht aus Allgemeine Java-Themen 3
Madlip Variablen 3 Werte aus ArrayList und weiter ... Allgemeine Java-Themen 4
S arraylist nach n. Eintrag numerisch Sortiren Allgemeine Java-Themen 5
O Problem beim Auslesen einer Arraylist von JComboBoxen Allgemeine Java-Themen 2
R Threads korrekte Synchronisation bei Vector und ArrayList Allgemeine Java-Themen 6
M Kovariante Rückgabewerte mit ArrayList Allgemeine Java-Themen 3
H LinkedList<LinkedList<String>> nach ArrayList<ArrayList<String>> ? Allgemeine Java-Themen 9
E NetBeans Vector durch ArrayList ersetzen Allgemeine Java-Themen 4
Maxim6394 Problem mit ArrayList Allgemeine Java-Themen 5
E Berechnung in Arraylist Allgemeine Java-Themen 10
E ArrayList mit unbekannter Größe Allgemeine Java-Themen 8
V Fork Join bei Arraylist Allgemeine Java-Themen 6
H Fehler in Arraylist Allgemeine Java-Themen 2
S Datensätze in eine ArrayList<Movie> speichern Allgemeine Java-Themen 13
S Alle Kombinationen aus ArrayList - Potenzmenge Allgemeine Java-Themen 7
V ArrayList vergleichen mit .equals? Allgemeine Java-Themen 13
J ArrayList-Problem Allgemeine Java-Themen 16
S Von einer ArrayList in die andere schreiben? Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben