Initial commit of project.

master
cansu.tns 2022-10-21 13:10:15 +02:00
commit e48803b408
11 changed files with 371 additions and 0 deletions

View File

@ -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>

1
Bibliothek/.gitignore vendored 100644
View File

@ -0,0 +1 @@
/bin/

View File

@ -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>

View File

@ -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

View File

@ -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);
}
}

View File

@ -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.";
}
}

View File

@ -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 + "]";
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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();
}
}

View File

@ -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);
}
}
}