Initial commit of project.
commit
e48803b408
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-14">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
|
@ -0,0 +1 @@
|
|||
/bin/
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>Bibliothek</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,14 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=14
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=14
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=14
|
|
@ -0,0 +1,24 @@
|
|||
package de.hs_mannheim.informatik.bibliothek;
|
||||
|
||||
import de.hs_mannheim.informatik.bibliothek.domain.Buch;
|
||||
import de.hs_mannheim.informatik.bibliothek.facade.Bibliotheksystem;
|
||||
import de.hs_mannheim.informatik.bibliothek.ui.UI;
|
||||
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Bibliotheksystem bs = new Bibliotheksystem("Goethe-Universität Frankfurt");
|
||||
Buch b1 = new Buch("Artificial Intelligence: Learning automation skills with Python",
|
||||
"Chris Baker", 2019 , 2 );
|
||||
Buch b2 = new Buch("PHP und MySQL: für Einsteiger", "Michael Bonacina", 2018 , 1);
|
||||
Buch b3 = new Buch("Einführung in die Web Security", " Andreas Happe", 2021 , 2);
|
||||
Buch b4 = new Buch("Hacking & IT-Security für Einsteiger: Der leichte Weg zum IT-Security-Experten",
|
||||
"Max Engelhardt", 2020 ,3);
|
||||
bs.buchHinzufuegen(b1);
|
||||
bs.buchHinzufuegen(b2);
|
||||
bs.buchHinzufuegen(b3);
|
||||
bs.buchHinzufuegen(b4);
|
||||
UI ui = new UI(bs);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
package de.hs_mannheim.informatik.bibliothek.domain;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
|
||||
public class Bibliothek {
|
||||
|
||||
private String name;
|
||||
private HashMap<Integer, Buch> buecher = new HashMap<>();
|
||||
private HashMap<Integer, Student> studenten = new HashMap<>();
|
||||
|
||||
public Bibliothek(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public Collection<Buch> getBuecher() {
|
||||
return buecher.values();
|
||||
}
|
||||
|
||||
public void buchHinzufuegen(Buch buch) {
|
||||
this.buecher.put(buch.getId(), buch);
|
||||
}
|
||||
|
||||
public String buchAusleihen(Student student, int buchId) {
|
||||
Buch buch = this.buecher.get(buchId);
|
||||
String msg = "";
|
||||
if (buch.getExemplar() - 1 < 0) {
|
||||
msg = "Das Buch " + "\"" + buch.getTitel() + "\"" + " ist nicht verfügbar";
|
||||
} else {
|
||||
buch.reduzierExemplar();
|
||||
student.buchAusleihen(buch);
|
||||
msg = "Das Buch " + "\"" + buch.getTitel() + "\"" + " wurde erfolgreich ausgeliehen";
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
|
||||
public Collection<Student> getStudenten() {
|
||||
return studenten.values();
|
||||
}
|
||||
|
||||
public String studentRegristrieren(Student student) {
|
||||
this.studenten.put(student.getMatrikelnummer(), student);
|
||||
return "Student mit der Matrikelnummer " + student.getMatrikelnummer() + " wurde regristriert."
|
||||
+ " Sie können nun Bücher ausleihen.";
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
package de.hs_mannheim.informatik.bibliothek.domain;
|
||||
|
||||
public class Buch {
|
||||
private static int idZaehler = 1;
|
||||
private String titel;
|
||||
private int id;
|
||||
private String autor;
|
||||
private int erscheinungsJahr;
|
||||
private int exemplar;
|
||||
|
||||
public Buch(String titel, String autor, int erscheinungsJahr, int exemplare) {
|
||||
this.titel = titel;
|
||||
this.autor = autor;
|
||||
this.erscheinungsJahr = erscheinungsJahr;
|
||||
this.exemplar = exemplare;
|
||||
this.id = idZaehler++;
|
||||
}
|
||||
|
||||
public int getExemplar() {
|
||||
return this.exemplar;
|
||||
}
|
||||
|
||||
public void reduzierExemplar() {
|
||||
this.exemplar--;
|
||||
}
|
||||
|
||||
public void erhoeheExemplar() {
|
||||
this.exemplar++;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
public String getTitel() {
|
||||
return this.titel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return titel + " von " + autor + " [" + erscheinungsJahr + "]";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
package de.hs_mannheim.informatik.bibliothek.domain;
|
||||
|
||||
public class Person {
|
||||
|
||||
private String vorname;
|
||||
private String nachname;
|
||||
private int geburtsjahr;
|
||||
|
||||
public Person(String vorname, String nachname, int geburtsjahr) {
|
||||
this.vorname = vorname;
|
||||
this.nachname = nachname;
|
||||
this.geburtsjahr = geburtsjahr;
|
||||
}
|
||||
|
||||
public String getVorname() {
|
||||
return vorname;
|
||||
}
|
||||
|
||||
public void setVorname(String vorname) {
|
||||
this.vorname = vorname;
|
||||
}
|
||||
|
||||
public String getNachname() {
|
||||
return nachname;
|
||||
}
|
||||
|
||||
public void setNachname(String nachname) {
|
||||
this.nachname = nachname;
|
||||
}
|
||||
|
||||
public int getGeburtsjahr() {
|
||||
return geburtsjahr;
|
||||
}
|
||||
|
||||
public void setGeburtsjahr(int geburtsjahr) {
|
||||
this.geburtsjahr = geburtsjahr;
|
||||
}
|
||||
|
||||
public String generiereAccountNamen() {
|
||||
return this.vorname;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "name = " + vorname + " nachname= " + nachname + "\ngeburtsjahr = " + geburtsjahr;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package de.hs_mannheim.informatik.bibliothek.domain;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Student extends Person {
|
||||
private static int zaehler = 2000;
|
||||
private int matrikelnummer;
|
||||
private ArrayList<Buch> buecher;
|
||||
|
||||
public Student(String vorname, String nachname, int geburtsjahr) {
|
||||
super(vorname, nachname, geburtsjahr);
|
||||
this.matrikelnummer = zaehler++;
|
||||
this.buecher = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void buchAusleihen(Buch buch) {
|
||||
this.buecher.add(buch);
|
||||
}
|
||||
|
||||
public int getMatrikelnummer() {
|
||||
return this.matrikelnummer;
|
||||
}
|
||||
|
||||
public ArrayList<Buch> getAusgelieheneBuecher() {
|
||||
return this.buecher;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return super.toString() + " matrikelnummer: " + matrikelnummer;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
package de.hs_mannheim.informatik.bibliothek.facade;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import de.hs_mannheim.informatik.bibliothek.domain.Buch;
|
||||
import de.hs_mannheim.informatik.bibliothek.domain.Bibliothek;
|
||||
import de.hs_mannheim.informatik.bibliothek.domain.Student;
|
||||
|
||||
public class Bibliotheksystem {
|
||||
|
||||
private Bibliothek bib;
|
||||
|
||||
public Bibliotheksystem(String name) {
|
||||
this.bib = new Bibliothek(name);
|
||||
}
|
||||
|
||||
public void buchHinzufuegen(Buch buch) {
|
||||
this.bib.buchHinzufuegen(buch);
|
||||
}
|
||||
|
||||
public String buchAusleihen(int matrikelnummer, int buchId) {
|
||||
Collection<Student> studenten = this.bib.getStudenten();
|
||||
Student student = null;
|
||||
String msg = "";
|
||||
for (Student s : studenten) {
|
||||
if (s.getMatrikelnummer() == matrikelnummer) {
|
||||
student = s;
|
||||
msg = this.bib.buchAusleihen(student, buchId);
|
||||
}
|
||||
}
|
||||
if (student != null) {
|
||||
return msg;
|
||||
} else
|
||||
return "Die Matrikelnummer existiert nicht. Bitte regristrieren Sie sich zuerst.";
|
||||
}
|
||||
|
||||
public String[] getBuecher() {
|
||||
Collection<Buch> buecher = this.bib.getBuecher();
|
||||
int size = this.bib.getBuecher().size();
|
||||
String[] buecherListe = new String[size];
|
||||
|
||||
int i = 0;
|
||||
for (Buch buch : buecher) {
|
||||
buecherListe[i++] = buch.getId() + ") " + buch.toString();
|
||||
}
|
||||
return buecherListe;
|
||||
}
|
||||
|
||||
public String studentRegristrieren(String vorname, String nachname, int geburtsjahr) {
|
||||
Student s = new Student(vorname, nachname, geburtsjahr);
|
||||
String msg = this.bib.studentRegristrieren(s);
|
||||
return msg;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return bib.getName();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
package de.hs_mannheim.informatik.bibliothek.ui;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
import de.hs_mannheim.informatik.bibliothek.facade.Bibliotheksystem;
|
||||
|
||||
public class UI {
|
||||
|
||||
private Bibliotheksystem bs;
|
||||
Scanner sc = new Scanner(System.in);
|
||||
|
||||
public UI(Bibliotheksystem bs) {
|
||||
this.bs = bs;
|
||||
menue();
|
||||
}
|
||||
|
||||
private void menue() {
|
||||
System.out.println("Willkommen in der Bibliothek der " + bs.getName());
|
||||
|
||||
mainloop: while (true) {
|
||||
System.out.println();
|
||||
System.out.println("--------");
|
||||
System.out.println("Hauptmenue");
|
||||
System.out.println("1 -> Alle verfügbaren Bücher anzeigen");
|
||||
System.out.println("2 -> In der Bibliothek regristrieren");
|
||||
System.out.println("3 -> Buch ausleihen");
|
||||
System.out.println("9 -> Beenden");
|
||||
System.out.println();
|
||||
|
||||
System.out.print("> ");
|
||||
int input = Integer.parseInt(sc.nextLine());
|
||||
System.out.println();
|
||||
|
||||
switch (input) {
|
||||
case 1:buecherAnzeigen();break;
|
||||
case 2:anmelden();break;
|
||||
case 3:buchAusleihen();break;
|
||||
case 9:break mainloop;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void buchAusleihen() {
|
||||
System.out.println("Geben Sie Ihre Matrikelnummer ein: ");
|
||||
int matrikelnummer = Integer.parseInt(sc.nextLine());
|
||||
System.out.println("Wählen Sie für die Ausleihe ein Buch mit der entsprechenden Nummer aus: ");
|
||||
buecherAnzeigen();
|
||||
int buchId = Integer.parseInt(sc.nextLine());
|
||||
String msg = bs.buchAusleihen(matrikelnummer, buchId);
|
||||
System.out.println(msg);
|
||||
}
|
||||
|
||||
private void anmelden() {
|
||||
System.out.println("Vornamen eingeben: ");
|
||||
String vorname = sc.nextLine();
|
||||
System.out.println("Nachnamen eingeben: ");
|
||||
String nachname = sc.nextLine();
|
||||
System.out.println("Geburtsjahr eingeben: ");
|
||||
int geburtsjahr = Integer.parseInt(sc.nextLine());
|
||||
String msg = bs.studentRegristrieren(vorname, nachname, geburtsjahr);
|
||||
System.out.println(msg);
|
||||
}
|
||||
|
||||
private void buecherAnzeigen() {
|
||||
String buecher[] = bs.getBuecher();
|
||||
for (String buch : buecher) {
|
||||
System.out.println(buch);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue