Kommentare hinzugefügt
parent
f8aea0ce36
commit
dfc1981aee
|
@ -10,6 +10,11 @@ public class Packstation {
|
||||||
*/
|
*/
|
||||||
public Paket[][] station;
|
public Paket[][] station;
|
||||||
|
|
||||||
|
//Standard-Konstruktor
|
||||||
|
public Packstation() {
|
||||||
|
station = new Paket[5][4];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dieser Konstruktor legt eine Packstation mit benutzerdefinierter Größe an.
|
* Dieser Konstruktor legt eine Packstation mit benutzerdefinierter Größe an.
|
||||||
* @param breite: Die Anzahl an Fächern in der Breite der Packstation.
|
* @param breite: Die Anzahl an Fächern in der Breite der Packstation.
|
||||||
|
@ -22,9 +27,6 @@ public class Packstation {
|
||||||
station = new Paket[breite][hoehe];
|
station = new Paket[breite][hoehe];
|
||||||
}
|
}
|
||||||
|
|
||||||
public Packstation() {
|
|
||||||
station = new Paket[5][4];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Legt ein Paket an einer freien Stelle in der Packstation ab und gibt die
|
* Legt ein Paket an einer freien Stelle in der Packstation ab und gibt die
|
||||||
|
|
|
@ -5,19 +5,23 @@ public class Paket {
|
||||||
public String name;
|
public String name;
|
||||||
public String adress;
|
public String adress;
|
||||||
|
|
||||||
|
//Konstruktor
|
||||||
public Paket (String empfaenger, String adresse) {
|
public Paket (String empfaenger, String adresse) {
|
||||||
name = empfaenger;
|
name = empfaenger;
|
||||||
adress = adresse;
|
adress = adresse;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Getter-Methode für Adresse
|
||||||
public String getAnschrift() {
|
public String getAnschrift() {
|
||||||
return adress;
|
return adress;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Getter-Methode für Empfänger
|
||||||
public String getEmpfaenger() {
|
public String getEmpfaenger() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Ausgabe der Paketinformationen
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return name + "\n" + adress;
|
return name + "\n" + adress;
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,17 +18,25 @@ public class Rechner {
|
||||||
System.out.println("[ m | d | e | f ]");
|
System.out.println("[ m | d | e | f ]");
|
||||||
System.out.print("Geben Sie das zugehörige Zeichen an: ");
|
System.out.print("Geben Sie das zugehörige Zeichen an: ");
|
||||||
|
|
||||||
|
//Eingabe
|
||||||
input = sc.nextLine();
|
input = sc.nextLine();
|
||||||
|
|
||||||
|
//Fehler bei Zeicheneingabe abfangen
|
||||||
if (input.length() > 1) {
|
if (input.length() > 1) {
|
||||||
System.out.println("Nur ein Zeichen eingeben. Versuche es erneut.");
|
System.out.println("Nur ein Zeichen eingeben. Versuche es erneut.");
|
||||||
} else if (input.length() < 1) {
|
} else if (input.length() < 1) {
|
||||||
System.out.println("Bitte ein Zeichen eingeben. Versuche es erneut.");
|
System.out.println("Bitte ein Zeichen eingeben. Versuche es erneut.");
|
||||||
} else {
|
} else {
|
||||||
|
//Zeichen herausfinden
|
||||||
char c = input.charAt(0);
|
char c = input.charAt(0);
|
||||||
|
|
||||||
|
//Zeichen an berechnung() übergeben
|
||||||
int ergebnis = berechnung(c);
|
int ergebnis = berechnung(c);
|
||||||
|
|
||||||
|
//Ergebnis nur ausgeben, wenn Ergebnis nicht -1 ist
|
||||||
if (ergebnis != -1) {
|
if (ergebnis != -1) {
|
||||||
System.out.println("Ergebnis: " + ergebnis);
|
System.out.println("Ergebnis: " + ergebnis);
|
||||||
|
//Zeilenumruch aus dem Buffer herausfiltern
|
||||||
sc.nextLine();
|
sc.nextLine();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,75 +56,96 @@ public class Rechner {
|
||||||
int ergebnis;
|
int ergebnis;
|
||||||
|
|
||||||
switch(c) {
|
switch(c) {
|
||||||
|
|
||||||
|
//Bedingung: Multiplizieren
|
||||||
case 'm':
|
case 'm':
|
||||||
System.out.println("\n* Multiplikation *");
|
System.out.println("\n* Multiplikation *");
|
||||||
System.out.print("Ersten Faktor eingeben: ");
|
System.out.print("Ersten Faktor eingeben: ");
|
||||||
int faktor1 = sc.nextInt();
|
int faktor1 = sc.nextInt();
|
||||||
System.out.print("Zweiten Faktor eingeben: ");
|
System.out.print("Zweiten Faktor eingeben: ");
|
||||||
int faktor2 = sc.nextInt();
|
int faktor2 = sc.nextInt();
|
||||||
|
|
||||||
|
//Versuche multiplizieren() durchzuführen
|
||||||
try {
|
try {
|
||||||
ergebnis = multiplizieren(faktor1, faktor2);
|
ergebnis = multiplizieren(faktor1, faktor2);
|
||||||
return ergebnis;
|
return ergebnis;
|
||||||
|
//Fange Fehler ab und gebe Nachricht aus
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
System.out.println(e.getMessage());
|
System.out.println(e.getMessage());
|
||||||
|
//Zeilenumruch aus dem Buffer herausfiltern
|
||||||
sc.nextLine();
|
sc.nextLine();
|
||||||
ergebnis = -1;
|
ergebnis = -1;
|
||||||
return ergebnis;
|
return ergebnis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Bedingung: Dividieren
|
||||||
case 'd':
|
case 'd':
|
||||||
System.out.println("\n* Division *");
|
System.out.println("\n* Division *");
|
||||||
System.out.print("Dividend eingeben: ");
|
System.out.print("Dividend eingeben: ");
|
||||||
int dividend = sc.nextInt();
|
int dividend = sc.nextInt();
|
||||||
System.out.print("Divisor eingeben: ");
|
System.out.print("Divisor eingeben: ");
|
||||||
int divisor = sc.nextInt();
|
int divisor = sc.nextInt();
|
||||||
|
//Versuche dividieren() durchzuführen
|
||||||
try {
|
try {
|
||||||
ergebnis = dividieren(dividend, divisor);
|
ergebnis = dividieren(dividend, divisor);
|
||||||
return ergebnis;
|
return ergebnis;
|
||||||
|
//Fange Fehler ab und gebe Nachricht aus
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
System.out.println(e.getMessage());
|
System.out.println(e.getMessage());
|
||||||
|
//Zeilenumruch aus dem Buffer herausfiltern
|
||||||
sc.nextLine();
|
sc.nextLine();
|
||||||
ergebnis = -1;
|
ergebnis = -1;
|
||||||
return ergebnis;
|
return ergebnis;
|
||||||
|
//Fange Fehler (mit 0 dividieren) ab und gebe Nachricht aus
|
||||||
} catch (ArithmeticException e) {
|
} catch (ArithmeticException e) {
|
||||||
System.out.println(e.getMessage());
|
System.out.println(e.getMessage());
|
||||||
|
//Zeilenumruch aus dem Buffer herausfiltern
|
||||||
sc.nextLine();
|
sc.nextLine();
|
||||||
ergebnis = -1;
|
ergebnis = -1;
|
||||||
return ergebnis;
|
return ergebnis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Bedingung: Exponent
|
||||||
case 'e':
|
case 'e':
|
||||||
System.out.println("\n* Exponent *");
|
System.out.println("\n* Exponent *");
|
||||||
System.out.print("Grundwert eingeben: ");
|
System.out.print("Grundwert eingeben: ");
|
||||||
int grundwert = sc.nextInt();
|
int grundwert = sc.nextInt();
|
||||||
System.out.print("Exponent eingeben: ");
|
System.out.print("Exponent eingeben: ");
|
||||||
int exponent = sc.nextInt();
|
int exponent = sc.nextInt();
|
||||||
|
//Versuche exponent() durchzuführen
|
||||||
try {
|
try {
|
||||||
ergebnis = exponent(grundwert, exponent);
|
ergebnis = exponent(grundwert, exponent);
|
||||||
return ergebnis;
|
return ergebnis;
|
||||||
|
//Fange Fehler ab und gebe Nachricht aus
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
System.out.println(e.getMessage());
|
System.out.println(e.getMessage());
|
||||||
|
//Zeilenumruch aus dem Buffer herausfiltern
|
||||||
sc.nextLine();
|
sc.nextLine();
|
||||||
ergebnis = -1;
|
ergebnis = -1;
|
||||||
return ergebnis;
|
return ergebnis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Bedingung: Fakultät
|
||||||
case 'f':
|
case 'f':
|
||||||
System.out.println("\n* Fakultät *");
|
System.out.println("\n* Fakultät *");
|
||||||
System.out.print("Zahl eingeben: ");
|
System.out.print("Zahl eingeben: ");
|
||||||
int n = sc.nextInt();
|
int n = sc.nextInt();
|
||||||
|
//Versuche fakultaet() durchzuführen
|
||||||
try {
|
try {
|
||||||
ergebnis = fakultaet(n);
|
ergebnis = fakultaet(n);
|
||||||
return ergebnis;
|
return ergebnis;
|
||||||
|
//Fange Fehler ab und gebe Nachricht aus
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
System.out.println(e.getMessage());
|
System.out.println(e.getMessage());
|
||||||
|
//Zeilenumruch aus dem Buffer herausfiltern
|
||||||
sc.nextLine();
|
sc.nextLine();
|
||||||
ergebnis = -1;
|
ergebnis = -1;
|
||||||
return ergebnis;
|
return ergebnis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Zeichen stimmt nicht überein
|
||||||
default:
|
default:
|
||||||
|
//Gebe Fehlermeldung aus
|
||||||
System.out.println("Kein gültiges Zeichen eingegeben! Bitte Versuche es erneut.");
|
System.out.println("Kein gültiges Zeichen eingegeben! Bitte Versuche es erneut.");
|
||||||
ergebnis = -1;
|
ergebnis = -1;
|
||||||
return ergebnis;
|
return ergebnis;
|
||||||
|
@ -133,14 +162,14 @@ public class Rechner {
|
||||||
public static int multiplizieren(int faktor1, int faktor2) {
|
public static int multiplizieren(int faktor1, int faktor2) {
|
||||||
if (faktor1 == 0 || faktor2 == 0)
|
if (faktor1 == 0 || faktor2 == 0)
|
||||||
return 0;
|
return 0;
|
||||||
if (faktor1 == 1)
|
else if (faktor1 == 1)
|
||||||
return faktor2;
|
return faktor2;
|
||||||
if (faktor2 == 1)
|
else if (faktor2 == 1)
|
||||||
return faktor1;
|
return faktor1;
|
||||||
if (faktor1 < 0 || faktor2 < 0) {
|
//Wenn eine der Zahlen negativ ist, gebe Fehler mit Meldung zurück
|
||||||
|
else if (faktor1 < 0 || faktor2 < 0) {
|
||||||
throw new IllegalArgumentException("Faktoren dürfen nicht negativ sein!");
|
throw new IllegalArgumentException("Faktoren dürfen nicht negativ sein!");
|
||||||
}
|
} else
|
||||||
|
|
||||||
return faktor1 + multiplizieren(faktor1, faktor2-1);
|
return faktor1 + multiplizieren(faktor1, faktor2-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -153,15 +182,17 @@ public class Rechner {
|
||||||
* @throws ArithmeticException Wenn der Divisor 0 ist
|
* @throws ArithmeticException Wenn der Divisor 0 ist
|
||||||
* */
|
* */
|
||||||
public static int dividieren(int dividend, int divisor) {
|
public static int dividieren(int dividend, int divisor) {
|
||||||
|
//Wenn Divisor 0 ist, gebe Fehler mit Meldung zurück
|
||||||
if (divisor == 0)
|
if (divisor == 0)
|
||||||
throw new ArithmeticException("Durch Null teilen nicht möglich!");
|
throw new ArithmeticException("Durch Null teilen nicht möglich!");
|
||||||
if (dividend < 0 || divisor < 0)
|
//Wenn eine der Zahlen negativ ist, gebe Fehler mit Meldung zurück
|
||||||
|
else if (dividend < 0 || divisor < 0)
|
||||||
throw new IllegalArgumentException("Dividend und Divisor dürfen nicht negativ sein!");
|
throw new IllegalArgumentException("Dividend und Divisor dürfen nicht negativ sein!");
|
||||||
if (divisor == 1)
|
else if (divisor == 1)
|
||||||
return dividend;
|
return dividend;
|
||||||
if (dividend >= divisor)
|
else if (dividend >= divisor)
|
||||||
return 1 + dividieren(dividend-divisor, divisor);
|
return 1 + dividieren(dividend-divisor, divisor);
|
||||||
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,11 +205,12 @@ public class Rechner {
|
||||||
* @throws IllegalArgumentException Wenn einer der Werte negativ ist
|
* @throws IllegalArgumentException Wenn einer der Werte negativ ist
|
||||||
*/
|
*/
|
||||||
public static int exponent(int grundwert, int exponent) {
|
public static int exponent(int grundwert, int exponent) {
|
||||||
|
//Wenn eine der Zahlen negativ ist, gebe Fehler mit Meldung zurück
|
||||||
if(grundwert < 0 || exponent < 0)
|
if(grundwert < 0 || exponent < 0)
|
||||||
throw new IllegalArgumentException("Die Basis und der Exponent dürfen nicht negativ sein!");
|
throw new IllegalArgumentException("Die Basis und der Exponent dürfen nicht negativ sein!");
|
||||||
if (exponent == 0)
|
else if (exponent == 0)
|
||||||
return 1;
|
return 1;
|
||||||
if(grundwert == 1)
|
else if(grundwert == 1)
|
||||||
return grundwert;
|
return grundwert;
|
||||||
else if(exponent == 1)
|
else if(exponent == 1)
|
||||||
return grundwert;
|
return grundwert;
|
||||||
|
@ -194,6 +226,7 @@ public class Rechner {
|
||||||
* @throws IllegalArgumentException Wenn die Zahl negativ ist
|
* @throws IllegalArgumentException Wenn die Zahl negativ ist
|
||||||
*/
|
*/
|
||||||
public static int fakultaet(int n) throws IllegalArgumentException {
|
public static int fakultaet(int n) throws IllegalArgumentException {
|
||||||
|
//Wenn Zahl negativ ist, gebe Fehler mit Meldung zurück
|
||||||
if (n < 0) {
|
if (n < 0) {
|
||||||
throw new IllegalArgumentException("Zahl darf nicht negativ sein.");
|
throw new IllegalArgumentException("Zahl darf nicht negativ sein.");
|
||||||
} else if (n == 0)
|
} else if (n == 0)
|
||||||
|
|
|
@ -9,6 +9,7 @@ public class TestPacket {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Scanner sc = new Scanner(System.in);
|
Scanner sc = new Scanner(System.in);
|
||||||
|
boolean right = false;
|
||||||
boolean gestoppt = false;
|
boolean gestoppt = false;
|
||||||
//Packstation instanziieren
|
//Packstation instanziieren
|
||||||
Packstation ps = new Packstation();
|
Packstation ps = new Packstation();
|
||||||
|
@ -16,7 +17,8 @@ public class TestPacket {
|
||||||
//HashMap um Pakete später benennen zu können
|
//HashMap um Pakete später benennen zu können
|
||||||
Map<String, Paket> pakete = new HashMap<>();
|
Map<String, Paket> pakete = new HashMap<>();
|
||||||
|
|
||||||
try {
|
|
||||||
|
while(!right) {
|
||||||
//Auswahl der Packstation-Konstruktoren
|
//Auswahl der Packstation-Konstruktoren
|
||||||
System.out.println("* Packstation wählen *");
|
System.out.println("* Packstation wählen *");
|
||||||
System.out.println("Standardgröße[1] | Benutzerdefinierte Größe[2]");
|
System.out.println("Standardgröße[1] | Benutzerdefinierte Größe[2]");
|
||||||
|
@ -25,14 +27,15 @@ public class TestPacket {
|
||||||
System.out.print("Auswahl: ");
|
System.out.print("Auswahl: ");
|
||||||
int auswahl = sc.nextInt();
|
int auswahl = sc.nextInt();
|
||||||
|
|
||||||
//Auswahl des Standardkonstruktors
|
switch(auswahl) {
|
||||||
if (auswahl == 1) {
|
|
||||||
|
case 1: //Auswahl des Standardkonstruktors
|
||||||
System.out.println("\n* Standardgröße gewählt *");
|
System.out.println("\n* Standardgröße gewählt *");
|
||||||
System.out.println("Breite: 5, Höhe: 4");
|
System.out.println("Breite: 5, Höhe: 4");
|
||||||
|
right = true;
|
||||||
|
break;
|
||||||
|
|
||||||
//Auswahl des benutzerdefinierten Konstruktors
|
case 2: //Auswahl des benutzerdefinierten Konstruktors
|
||||||
} else if (auswahl == 2) {
|
|
||||||
|
|
||||||
//Eingabe der Werte für den Konstruktor
|
//Eingabe der Werte für den Konstruktor
|
||||||
System.out.println("\n* Bitte Werte eingeben *");
|
System.out.println("\n* Bitte Werte eingeben *");
|
||||||
System.out.print("Breite: ");
|
System.out.print("Breite: ");
|
||||||
|
@ -44,12 +47,12 @@ public class TestPacket {
|
||||||
ps = new Packstation(breite, hoehe);
|
ps = new Packstation(breite, hoehe);
|
||||||
System.out.println("\n* Benutzerdefinierte Größe gewählt *");
|
System.out.println("\n* Benutzerdefinierte Größe gewählt *");
|
||||||
System.out.printf("Breite: %d, Höhe: %d\n", breite, hoehe);
|
System.out.printf("Breite: %d, Höhe: %d\n", breite, hoehe);
|
||||||
|
right = true;
|
||||||
|
break;
|
||||||
|
|
||||||
} else {
|
default: //Fehlerhafte Eingabe
|
||||||
sc.close();
|
System.out.println("\nFehlerhafte Eingabe! Bitte versuchen Sie es erneut.\n");
|
||||||
//Fehlermeldung, wenn nicht Option 1 oder 2 gewählt wird
|
}
|
||||||
throw new IllegalArgumentException("Fehlerhafte Eingabe.");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
while(!gestoppt) {
|
while(!gestoppt) {
|
||||||
|
@ -59,7 +62,7 @@ public class TestPacket {
|
||||||
|
|
||||||
//Nutzereingabe
|
//Nutzereingabe
|
||||||
System.out.print("Auswahl: ");
|
System.out.print("Auswahl: ");
|
||||||
auswahl = sc.nextInt();
|
int auswahl = sc.nextInt();
|
||||||
sc.nextLine();
|
sc.nextLine();
|
||||||
|
|
||||||
switch(auswahl) {
|
switch(auswahl) {
|
||||||
|
@ -92,7 +95,7 @@ public class TestPacket {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
System.out.println("* Freie Boxen zählen gewählt *");
|
System.out.println("\n* Freie Boxen zählen gewählt *");
|
||||||
|
|
||||||
//Freie Boxen zählen
|
//Freie Boxen zählen
|
||||||
int freieBoxen = ps.zaehleFreieBoxen();
|
int freieBoxen = ps.zaehleFreieBoxen();
|
||||||
|
@ -122,16 +125,11 @@ public class TestPacket {
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
//Schließen des Programmes
|
//Schließen des Programmes
|
||||||
System.out.println(" * Programm wird beendet * ");
|
System.out.println("\n* Programm wird beendet * ");
|
||||||
gestoppt = true;
|
gestoppt = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch(IllegalArgumentException e) {
|
|
||||||
System.out.println(e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
sc.close();
|
sc.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue