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:
Vielen Danke schonmal!
Levitas
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