Hey leute,
ich bin ein ein absoluter Anfänger was den Umgang mit Java betrifft - habe auch vorher noch nie wirklich programmiert!
Ich soll ein Programm schreiben, dass Bücher (max. 50) mit Titel, Autor, ISBN und co. speichert und am Ende wieder ausgibt.
Zur besseren Verständniss poste ich mal kurz die Aufgabe:
Implementieren Sie ein Bibliotheksprogramm, welches empfohlene Bücher für Ihr Studium verwaltet.
Alle Daten eines Buches wie Titel, Autor, ISBN, Verlag Erscheinungsjahr und Preis sollen in einem
kompositen Datentyp zusammengefasst und über die Konsole eingegeben werden. Da Sie nur über ein
begrenztes Budget verfügen, lassen Sie sich alle Bücher, die nach 1995 erschienen sind und weniger
als 50 € kosten, auf dem Bildschirm anzeigen.
Definieren Sie einen Datentyp für die Beschreibung von Buchobjekten, wobei für den Autor (Name,
Vorname) ein eigener Datentyp zu definieren ist. Gehen Sie davon aus, dass maximal 100 Bücher
verwaltet werden.
So, dass programm habe ich jetzt geschrieben und ich denke ich bin auch fertig. Der Compiler hat auch zunächst keine Probleme mir das Programm zu übersetzen und die class datei zu erstellen!
Bei der Anwendung jedoch habe ich ein Problem. Immer wenn ich bereits den Titel eingeben will kommt eine Fehlermeldung. Leider weiß ich nicht warum. Ich habe die Variable "titel" als String deklariert, also sollte das programm doch auch leerzeichen und zeichenketten lesen müssen!
ich bin ein ein absoluter Anfänger was den Umgang mit Java betrifft - habe auch vorher noch nie wirklich programmiert!
Ich soll ein Programm schreiben, dass Bücher (max. 50) mit Titel, Autor, ISBN und co. speichert und am Ende wieder ausgibt.
Zur besseren Verständniss poste ich mal kurz die Aufgabe:
Implementieren Sie ein Bibliotheksprogramm, welches empfohlene Bücher für Ihr Studium verwaltet.
Alle Daten eines Buches wie Titel, Autor, ISBN, Verlag Erscheinungsjahr und Preis sollen in einem
kompositen Datentyp zusammengefasst und über die Konsole eingegeben werden. Da Sie nur über ein
begrenztes Budget verfügen, lassen Sie sich alle Bücher, die nach 1995 erschienen sind und weniger
als 50 € kosten, auf dem Bildschirm anzeigen.
Definieren Sie einen Datentyp für die Beschreibung von Buchobjekten, wobei für den Autor (Name,
Vorname) ein eigener Datentyp zu definieren ist. Gehen Sie davon aus, dass maximal 100 Bücher
verwaltet werden.
So, dass programm habe ich jetzt geschrieben und ich denke ich bin auch fertig. Der Compiler hat auch zunächst keine Probleme mir das Programm zu übersetzen und die class datei zu erstellen!
Bei der Anwendung jedoch habe ich ein Problem. Immer wenn ich bereits den Titel eingeben will kommt eine Fehlermeldung. Leider weiß ich nicht warum. Ich habe die Variable "titel" als String deklariert, also sollte das programm doch auch leerzeichen und zeichenketten lesen müssen!
Java:
import java.util.Scanner;
public class Bibliothek { //Beginn der Klasse Bibliothek
public static void main (String[] args) { //Beginn der main-Methode
class AutorT { //Deklaration der Klasse "AutorT"
String vorname;
String nachname;
} //AutorT - Dateneingabe des Autors
class BuchT { //Deklaration der Klasse "BuchT"
String titel;
String AutorT;
int isbn;
int erscheinungsjahr;
double preis;
} //BuchT - Dateneingabe des Buches
Scanner in = new Scanner (System.in); //Vorbereitung des Programms auf externe Eingabe
System.out.println ("Fuer wieviele Buecher sollen Daten erfasst werden? Bitte beachten Sie, dass das Programm maximal 50 Buecher einlesen kann");
int anzahl = in.nextInt();
BuchT[]b = new BuchT [anzahl]; //Erstellen eines eindimensionalen Arrays fuer "BuchT" mit "anzahl" Feldern
AutorT[]a = new AutorT [anzahl]; //Erstellen eines eindimensionalen Arrays fuer "AutorT" mit "anzahl" Feldern
for (int k = 0; k<anzahl; k++) { //Eingaben der Daten - Schleife wiederholen bis "anzahl" erreicht ist!
System.out.println ("Bitte den Titel eingeben: "); //Titel
b[k].titel = in.next();
System.out.println ("Bitte den Vor- und Nachnemen des Autors eingeben: "); //Autorname angaben (eingabe fuer die Klasse AutorT)
System.out.println ("Vorname des Autors: ");
a[k].vorname = in.next();
System.out.println ("Nachname des Autors: ");
a[k].nachname = in.next();
System.out.println ("Bitte die ISBN-Nummer angeben: "); //ISBN
b[k].isbn = in.nextInt();
System.out.println("Bitte das Erscheinungsjahr fuer das Buch angeben (Das Buch sollte erst 1995 erschienen sein!): ");
b[k].erscheinungsjahr = in.nextInt(); //Erscheinungsjahr
System.out.println("Bitte den Preis fuer das Buch eingeben: ");
b[k].preis = in.nextDouble(); //Preis
} //Ende der for-Schleife (Wiederholen, bis "anzahl" erreicht wurde (alle Buecher eingetippt wurden)
for (int k=0; k<anzahl; k++) { //Anfang der Print-Schleife (Ausgabe)
if (b[k].erscheinungsjahr>1995 && b[k].preis>50) {
System.out.println( " Titel: "+b[k].titel+ " ISBN: "+b[k].isbn + " Erscheinungsjahr: "+b[k].erscheinungsjahr + " Preis: " + b[k].preis + " Autorvorname: "+a[k].vorname + " Autornachname: "+a[k].nachname);
}
} //Ende der Print-Schleife
} //Ende Main
}