parkhaus
parent
328bbf1538
commit
5c6912219b
|
@ -64,23 +64,17 @@ public class VerwalteStudent {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void showUser() {
|
public void showUser() {
|
||||||
String studentName = view.getEingabeNameZuSuchen().getText();
|
String idText = view.getEingabeIdZuLoeschen().getText();
|
||||||
student = findStudent(studentName);
|
int id = Integer.parseInt(idText);
|
||||||
|
student = findStudent(id);
|
||||||
if (student != null) {
|
if (student != null) {
|
||||||
String[] array = {student.getId()+"",student.getAdresse(),student.getEmail(),student.getGeburtstag(),student.getGeschlecht(),student.getName(),student.getTele()};
|
String[] array = {student.getId()+"",student.getName(),student.getVorname(),student.getGeburtstag(),student.getGeschlecht(),student.getTele(),student.getEmail(),student.getAdresse()};
|
||||||
view.getModel().addRow(array);
|
view.getModel().addRow(array);
|
||||||
view.setEingabeNameZuSuchen("");
|
view.setEingabeNameZuSuchen("");
|
||||||
}else
|
}else
|
||||||
view.showErrore("Der Student wurde nicht gefunden");
|
view.showErrore("Der Student wurde nicht gefunden");
|
||||||
}
|
}
|
||||||
|
|
||||||
private Student findStudent(String studentName) {
|
|
||||||
for (Student s : allStudents)
|
|
||||||
if (s.getName().equals(studentName))
|
|
||||||
return s;
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void restAlleInputs() {
|
public void restAlleInputs() {
|
||||||
view.setEingabeName("");;
|
view.setEingabeName("");;
|
||||||
|
|
|
@ -27,6 +27,7 @@ public class My_ArrayList <V> implements MyList<V> {
|
||||||
for (int i = 0; i < arr.length ; i++)
|
for (int i = 0; i < arr.length ; i++)
|
||||||
neuarr[i] = arr[i];
|
neuarr[i] = arr[i];
|
||||||
arr = neuarr;
|
arr = neuarr;
|
||||||
|
neuarr = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -8,13 +8,27 @@ public class Test {
|
||||||
|
|
||||||
ArrayList<Integer> test = new ArrayList<>();
|
ArrayList<Integer> test = new ArrayList<>();
|
||||||
|
|
||||||
|
test.add(12);
|
||||||
|
test.add(13);
|
||||||
|
test.add(12);
|
||||||
|
test.add(13);
|
||||||
|
test.add(12);
|
||||||
|
test.add(13);
|
||||||
|
test.add(12);
|
||||||
|
test.add(13);
|
||||||
|
test.add(12);
|
||||||
|
test.add(13);
|
||||||
|
test.add(12);
|
||||||
|
test.add(13);
|
||||||
|
test.add(12);
|
||||||
|
test.add(13);
|
||||||
|
test.add(12);
|
||||||
|
test.add(13);
|
||||||
test.add(12);
|
test.add(12);
|
||||||
test.add(13);
|
test.add(13);
|
||||||
|
|
||||||
System.out.println(test);
|
System.out.println(test);
|
||||||
|
|
||||||
test.add(0, 14);
|
|
||||||
System.out.println(test);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
package Parkhaus;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
class Allgemeine_Test {
|
||||||
|
|
||||||
|
private Parkhaus system;
|
||||||
|
private SimpleDateFormat sdf;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void setUp() throws Exception {
|
||||||
|
system = new Parkhaus();
|
||||||
|
sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void test_Parkhaus() throws Exception {
|
||||||
|
String kennzeichen = "MA-SH 4077";
|
||||||
|
String einfahrt = "01.10.2024, 14:30";
|
||||||
|
String ausfahrt = "01.10.2024, 14:50";
|
||||||
|
String GueltigeVISAKartennummer = "4509472140549006";
|
||||||
|
|
||||||
|
// Einfahren: True => Beide assertTrue Tests.
|
||||||
|
String einfahren = system.einfahren(kennzeichen, einfahrt);
|
||||||
|
assertTrue(einfahren.contains(kennzeichen));
|
||||||
|
assertTrue(einfahren.contains(einfahrt));
|
||||||
|
assertEquals(179,system.getMaxPlaetze());
|
||||||
|
|
||||||
|
// Parkgebühren berechnen: True => da nur eine Stunde
|
||||||
|
double betrag = system.berechneParkgebuehren(kennzeichen, ausfahrt);
|
||||||
|
assertEquals(1,betrag);
|
||||||
|
|
||||||
|
//Parkgebühren sofort Bezahlen mit Visa-karte: True => Beide assertTrue Tests.
|
||||||
|
assertTrue(system.checkVisakarteNummer(GueltigeVISAKartennummer));
|
||||||
|
assertTrue(system.setBezahlt(kennzeichen));
|
||||||
|
|
||||||
|
// Ausfahren: True => Beide assertTrue Tests.
|
||||||
|
assertTrue(system.ausfahren(kennzeichen, ausfahrt));
|
||||||
|
assertEquals(180,system.getMaxPlaetze());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
package Parkhaus;
|
||||||
|
|
||||||
|
public class AutoNichtGefundenException extends Exception {
|
||||||
|
|
||||||
|
AutoNichtGefundenException(String autoNichtGefunden){
|
||||||
|
super(autoNichtGefunden);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,93 @@
|
||||||
|
package Parkhaus;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/* Jedes Fahrzeug hat ihr eigene:
|
||||||
|
* - Kennzeichen
|
||||||
|
* - Einfahrtzeit sowie Ausfahrtzeit
|
||||||
|
* - Betrag
|
||||||
|
*
|
||||||
|
* - Ich gehe davon aus, dass das Fahrzeug automatisch als nicht bezahlt gilt, wenn es in das Parkhaus einfährt.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class Fahrzeug {
|
||||||
|
|
||||||
|
private String kennzeichen;
|
||||||
|
private Date einfahrt;
|
||||||
|
private Date ausfahrt;
|
||||||
|
private boolean istBezahlt;
|
||||||
|
private boolean istVerschuldet;
|
||||||
|
private double betrag;
|
||||||
|
|
||||||
|
Fahrzeug() {
|
||||||
|
this(kennzeichenzufaelliggenerieren.kennzeichengenerieren(), new Date());
|
||||||
|
}
|
||||||
|
|
||||||
|
Fahrzeug(String kennzeichen) {
|
||||||
|
this(kennzeichen, new Date());
|
||||||
|
}
|
||||||
|
|
||||||
|
Fahrzeug(Date einfahrt) {
|
||||||
|
this(kennzeichenzufaelliggenerieren.kennzeichengenerieren(), einfahrt);
|
||||||
|
}
|
||||||
|
|
||||||
|
Fahrzeug(String kennzeichen, Date einfahrt) {
|
||||||
|
this.kennzeichen = kennzeichen;
|
||||||
|
this.einfahrt = einfahrt;
|
||||||
|
this.betrag = 0.0;
|
||||||
|
this.istBezahlt = false;
|
||||||
|
this.istVerschuldet = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKennzeichen() {
|
||||||
|
return kennzeichen;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Diese Methode hilft mir, die Zeit in der Console formatted auszugeben
|
||||||
|
public String getEinfahrtFormatted() {
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
|
||||||
|
return sdf.format(einfahrt);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getEinfahrt() {
|
||||||
|
return einfahrt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEinfahrt(Date einfahrt) {
|
||||||
|
this.einfahrt = einfahrt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getAusfahrt() {
|
||||||
|
return ausfahrt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAusfahrt(Date ausfahrt) {
|
||||||
|
this.ausfahrt = ausfahrt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isBezahlt() {
|
||||||
|
return istBezahlt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBezahlt(boolean bezahlt) {
|
||||||
|
this.istBezahlt = bezahlt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getBetrag() {
|
||||||
|
return betrag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBetrag(double betrag) {
|
||||||
|
this.betrag += betrag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean IstVerschuldet() {
|
||||||
|
return istVerschuldet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIstVerschuldet(boolean istVerschuldet) {
|
||||||
|
this.istVerschuldet = istVerschuldet;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,52 @@
|
||||||
|
package Parkhaus;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
class JTest_AutoMitSchulden {
|
||||||
|
|
||||||
|
private Parkhaus parkhaus;
|
||||||
|
private SimpleDateFormat sdf;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void start() throws ParseException {
|
||||||
|
parkhaus = new Parkhaus();
|
||||||
|
sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_AutoMitSchulden() throws Exception {
|
||||||
|
|
||||||
|
String kennzeichen = "MA-SH 4077";
|
||||||
|
String einfahrt = "01.10.2024, 12:30";
|
||||||
|
String ausfahrt = "01.10.2024, 13:00";
|
||||||
|
|
||||||
|
parkhaus.einfahren(kennzeichen, einfahrt);
|
||||||
|
parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt);
|
||||||
|
parkhaus.setVerschuldet(kennzeichen);
|
||||||
|
parkhaus.ausfahren(kennzeichen, ausfahrt);
|
||||||
|
|
||||||
|
einfahrt = "01.10.2024, 13:30";
|
||||||
|
ausfahrt = "01.10.2024, 14:00";
|
||||||
|
parkhaus.einfahren(kennzeichen, einfahrt);
|
||||||
|
parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt);
|
||||||
|
parkhaus.setVerschuldet(kennzeichen);
|
||||||
|
parkhaus.ausfahren(kennzeichen, ausfahrt);
|
||||||
|
|
||||||
|
einfahrt = "01.10.2024, 14:30";
|
||||||
|
ausfahrt = "01.10.2024, 16:00";
|
||||||
|
parkhaus.einfahren(kennzeichen, einfahrt);
|
||||||
|
parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt);
|
||||||
|
parkhaus.setVerschuldet(kennzeichen);
|
||||||
|
parkhaus.ausfahren(kennzeichen, ausfahrt);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,32 @@
|
||||||
|
package Parkhaus;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
import org.junit.jupiter.api.*;
|
||||||
|
import java.text.ParseException;
|
||||||
|
|
||||||
|
class JTest_Einfahren {
|
||||||
|
private Parkhaus parkhaus;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void start() {
|
||||||
|
parkhaus = new Parkhaus();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEinfahrenOhneEingabe() throws ParseException {
|
||||||
|
|
||||||
|
parkhaus.einfahren("", "");
|
||||||
|
assertEquals(179, parkhaus.getMaxPlaetze());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEinfahrenMitEingabe() throws ParseException {
|
||||||
|
String kennzeichen = "MA-SH 4077";
|
||||||
|
String einfahrtzeit = "01.10.2024, 14:30";
|
||||||
|
String test = parkhaus.einfahren(kennzeichen, einfahrtzeit);
|
||||||
|
assertTrue(test.contains(kennzeichen));
|
||||||
|
assertTrue(test.contains(einfahrtzeit));
|
||||||
|
assertEquals(179, parkhaus.getMaxPlaetze());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
package Parkhaus;
|
||||||
|
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Disabled;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
class JTest_ausfahren {
|
||||||
|
private Parkhaus parkhaus;
|
||||||
|
private SimpleDateFormat sdf;
|
||||||
|
@BeforeEach
|
||||||
|
void start() throws ParseException {
|
||||||
|
parkhaus = new Parkhaus();
|
||||||
|
sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_ausfahren() throws Exception {
|
||||||
|
String kennzeichen = "MA-SH 4077";
|
||||||
|
String einfahrt = "01.10.2024, 14:30";
|
||||||
|
String ausfahrt = "01.10.2024, 15:30";
|
||||||
|
parkhaus.einfahren(kennzeichen, einfahrt);
|
||||||
|
|
||||||
|
parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt);
|
||||||
|
|
||||||
|
|
||||||
|
assertTrue(parkhaus.checkVisakarteNummer("9823192757222993"));
|
||||||
|
assertTrue(parkhaus.setBezahlt(kennzeichen));
|
||||||
|
assertTrue(parkhaus.gebuerenNehmen(1));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,86 @@
|
||||||
|
package Parkhaus;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Disabled;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
class JTest_berechneParkgebuehren {
|
||||||
|
|
||||||
|
private Parkhaus parkhaus;
|
||||||
|
private SimpleDateFormat sdf;
|
||||||
|
@BeforeEach
|
||||||
|
void start() throws ParseException {
|
||||||
|
parkhaus = new Parkhaus();
|
||||||
|
sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_EautoBetrag() throws ParseException, AutoNichtGefundenException {
|
||||||
|
String kennzeichen = "MA-SH 4077E";
|
||||||
|
String einfahrt = "01.10.2024, 14:30";
|
||||||
|
String ausfahrt = "01.10.2024, 14:45";
|
||||||
|
parkhaus.einfahren(kennzeichen, einfahrt);
|
||||||
|
|
||||||
|
// 15 Minuten => True
|
||||||
|
assertEquals(0,parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt));
|
||||||
|
|
||||||
|
// 16 Minuten => True
|
||||||
|
einfahrt = "01.10.2024, 14:30";
|
||||||
|
ausfahrt = "01.10.2024, 14:50";
|
||||||
|
parkhaus.einfahren(kennzeichen, einfahrt);
|
||||||
|
assertEquals(0.8,parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Disabled
|
||||||
|
public void test_berechneParkgebuehren() throws ParseException, AutoNichtGefundenException {
|
||||||
|
String kennzeichen = "MA-SH 4077";
|
||||||
|
String einfahrt = "01.10.2024, 14:30";
|
||||||
|
String ausfahrt = "01.10.2024, 14:45";
|
||||||
|
parkhaus.einfahren(kennzeichen, einfahrt);
|
||||||
|
|
||||||
|
// 15 Minuten => True
|
||||||
|
assertEquals(0,parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt));
|
||||||
|
|
||||||
|
// 16 Minuten => True
|
||||||
|
einfahrt = "01.10.2024, 14:30";
|
||||||
|
ausfahrt = "01.10.2024, 14:46";
|
||||||
|
parkhaus.einfahren(kennzeichen, einfahrt);
|
||||||
|
assertEquals(1,parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt));
|
||||||
|
|
||||||
|
// 1 Stunde => True
|
||||||
|
einfahrt = "01.10.2024, 14:30";
|
||||||
|
ausfahrt = "01.10.2024, 15:30";
|
||||||
|
parkhaus.einfahren(kennzeichen, einfahrt);
|
||||||
|
assertEquals(1, parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt));
|
||||||
|
|
||||||
|
|
||||||
|
// 2 Stunden => True
|
||||||
|
einfahrt = "01.10.2024, 14:00";
|
||||||
|
ausfahrt = "01.10.2024, 16:00";
|
||||||
|
parkhaus.einfahren(kennzeichen, einfahrt);
|
||||||
|
assertEquals(2, parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt));
|
||||||
|
|
||||||
|
// Zwischen 20 bis 6 Uhr => True
|
||||||
|
einfahrt = "01.10.2024, 22:00";
|
||||||
|
ausfahrt = "02.10.2024, 04:00";
|
||||||
|
parkhaus.einfahren(kennzeichen, einfahrt);
|
||||||
|
assertEquals(5, parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt));
|
||||||
|
|
||||||
|
// 24 Stunden
|
||||||
|
einfahrt = "01.10.2024, 14:00";
|
||||||
|
ausfahrt = "02.10.2024, 14:00";
|
||||||
|
parkhaus.einfahren(kennzeichen, einfahrt);
|
||||||
|
assertEquals(15, parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
package Parkhaus;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Disabled;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
class JTest_checkVisakarte {
|
||||||
|
|
||||||
|
private Parkhaus parkhaus;
|
||||||
|
private SimpleDateFormat sdf;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void start() throws ParseException {
|
||||||
|
parkhaus = new Parkhaus();
|
||||||
|
sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_visakarteNummer() throws Exception{
|
||||||
|
String kennzeichen = "MA-SH 4077";
|
||||||
|
String einfahrt = "01.10.2024, 14:30";
|
||||||
|
String ausfahrt = "01.10.2024, 14:50";
|
||||||
|
parkhaus.einfahren(kennzeichen, einfahrt);
|
||||||
|
parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt);
|
||||||
|
|
||||||
|
String GueltigeVISAKartennummer = "4509472140549006";
|
||||||
|
// Gültige Nummer => True
|
||||||
|
assertTrue(parkhaus.checkVisakarteNummer(GueltigeVISAKartennummer));
|
||||||
|
assertTrue(parkhaus.setBezahlt(kennzeichen));
|
||||||
|
|
||||||
|
// Ungültige Nummer => True (da der Test False testet)
|
||||||
|
String ungueltigeVISAKartennummer = "4509472140549002";
|
||||||
|
assertFalse(parkhaus.checkVisakarteNummer(ungueltigeVISAKartennummer));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package Parkhaus;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
public class Main {
|
||||||
|
|
||||||
|
public static void main(String[] args) throws ParseException, AutoNichtGefundenException, Exception {
|
||||||
|
|
||||||
|
new TextUI();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,226 @@
|
||||||
|
package Parkhaus;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
/* Parkhaus klasse
|
||||||
|
* - Extern klasse dient als System
|
||||||
|
* - mit diseser Kalsse integriert der User (Autofahrer)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class Parkhaus {
|
||||||
|
private ArrayList<Fahrzeug> fahrzeuge;
|
||||||
|
private Set<Fahrzeug> fahrzeugeMitSchulden;
|
||||||
|
private int maxPlaetze;
|
||||||
|
private SimpleDateFormat sdf;
|
||||||
|
private Fahrzeug fahrzeug;
|
||||||
|
private double betragAktuellesAuto;
|
||||||
|
|
||||||
|
Parkhaus() {
|
||||||
|
this.fahrzeuge = new ArrayList<>();
|
||||||
|
this.fahrzeugeMitSchulden = new HashSet<>();
|
||||||
|
this.maxPlaetze = 180;
|
||||||
|
this.sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String einfahren(String kennzeichen, String einfahrtzeit) throws ParseException {
|
||||||
|
Date einfahrt;
|
||||||
|
|
||||||
|
if (kennzeichen.isEmpty() && einfahrtzeit.isEmpty())
|
||||||
|
fahrzeug = new Fahrzeug();
|
||||||
|
else if (kennzeichen.isEmpty())
|
||||||
|
fahrzeug = new Fahrzeug(einfahrtzeit);
|
||||||
|
else if (einfahrtzeit.isEmpty())
|
||||||
|
fahrzeug = new Fahrzeug(kennzeichen);
|
||||||
|
else {
|
||||||
|
einfahrt = sdf.parse(einfahrtzeit);
|
||||||
|
fahrzeug = new Fahrzeug(kennzeichen, einfahrt);
|
||||||
|
}
|
||||||
|
fahrzeuge.add(fahrzeug);
|
||||||
|
|
||||||
|
// reduziere ich die Anzahl der verfügbare Parkplätze im Parkhaus
|
||||||
|
maxPlaetze--;
|
||||||
|
return "Das Fahrzeug mit dem Kennzeichen: " + fahrzeug.getKennzeichen() + "\n" + "wurde um: "
|
||||||
|
+ fahrzeug.getEinfahrtFormatted() + " im Parkhaus eingefahren.";
|
||||||
|
}
|
||||||
|
|
||||||
|
public double berechneParkgebuehren(String kennzeichen, String ausfahrtzeit)
|
||||||
|
throws AutoNichtGefundenException, ParseException {
|
||||||
|
if (kennzeichen.isEmpty())
|
||||||
|
throw new AutoNichtGefundenException("Sie müssen bitte das Kennzeichen Ihres Autos eingeben.");
|
||||||
|
|
||||||
|
boolean isEauto = false;
|
||||||
|
if (kennzeichen.endsWith("E"))
|
||||||
|
isEauto = true;
|
||||||
|
|
||||||
|
fahrzeug = findeFahrzeug(kennzeichen);
|
||||||
|
Date einfahrt = fahrzeug.getEinfahrt();
|
||||||
|
Date ausfahrt;
|
||||||
|
|
||||||
|
if (ausfahrtzeit.isEmpty()) {
|
||||||
|
String aktuelleZeitString = sdf.format(new Date());
|
||||||
|
ausfahrt = sdf.parse(aktuelleZeitString);
|
||||||
|
} else
|
||||||
|
ausfahrt = sdf.parse(ausfahrtzeit);
|
||||||
|
|
||||||
|
double inMinuten = (ausfahrt.getTime() - einfahrt.getTime()) / 1000.0 / 60.0;
|
||||||
|
int inStunden = (int) Math.ceil(inMinuten / 60.0);
|
||||||
|
int maxNachtBetrag = 5;
|
||||||
|
int maxTagBetrag = 15;
|
||||||
|
betragAktuellesAuto = 0;
|
||||||
|
|
||||||
|
//gibt eine Kalenderinstanz zurück, die auf das aktuelle Datum und die Uhrzeit eingestellt ist
|
||||||
|
Calendar calEinfahrt = Calendar.getInstance();
|
||||||
|
|
||||||
|
calEinfahrt.setTime(einfahrt);
|
||||||
|
|
||||||
|
Calendar calAusfahrt = Calendar.getInstance();
|
||||||
|
calAusfahrt.setTime(ausfahrt);
|
||||||
|
|
||||||
|
int einfahrtStunde = calEinfahrt.get(Calendar.HOUR_OF_DAY);
|
||||||
|
int ausfahrtStunde = calAusfahrt.get(Calendar.HOUR_OF_DAY);
|
||||||
|
|
||||||
|
if (inMinuten <= 15)
|
||||||
|
betragAktuellesAuto = 0;
|
||||||
|
|
||||||
|
else if ((einfahrtStunde < 6 || einfahrtStunde >= 20) || (ausfahrtStunde < 6 || ausfahrtStunde >= 20))
|
||||||
|
betragAktuellesAuto = (inStunden <= maxNachtBetrag) ? inStunden : maxNachtBetrag;
|
||||||
|
|
||||||
|
else {
|
||||||
|
betragAktuellesAuto = inStunden;
|
||||||
|
if (betragAktuellesAuto > maxTagBetrag) {
|
||||||
|
betragAktuellesAuto = maxTagBetrag;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isEauto)
|
||||||
|
betragAktuellesAuto -= rabattFuerEauto(betragAktuellesAuto);
|
||||||
|
|
||||||
|
betragAktuellesAuto += sendSchulden(kennzeichen);
|
||||||
|
fahrzeug.setBetrag(betragAktuellesAuto);
|
||||||
|
|
||||||
|
return fahrzeug.getBetrag();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean ausfahren(String kennzeichen, String ausfahrtzeit)
|
||||||
|
throws AutoNichtGefundenException, ParseException {
|
||||||
|
if (kennzeichen.isEmpty())
|
||||||
|
throw new AutoNichtGefundenException("Sie müssen bitte das Kennzeichen Ihres Autos eingeben.");
|
||||||
|
|
||||||
|
fahrzeug = findeFahrzeug(kennzeichen);
|
||||||
|
Date ausfahrt;
|
||||||
|
if (ausfahrtzeit.isEmpty()) {
|
||||||
|
String aktuelleZeitString = sdf.format(new Date());
|
||||||
|
ausfahrt = sdf.parse(aktuelleZeitString);
|
||||||
|
} else
|
||||||
|
ausfahrt = sdf.parse(ausfahrtzeit);
|
||||||
|
|
||||||
|
if (fahrzeug.isBezahlt() == true || fahrzeug.IstVerschuldet() == true) {
|
||||||
|
fahrzeuge.remove(fahrzeug);
|
||||||
|
maxPlaetze++;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getkennzeichenAktuellesAuto() {
|
||||||
|
return this.fahrzeug.getKennzeichen();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean setBezahlt(String kennzeichen) throws AutoNichtGefundenException {
|
||||||
|
fahrzeug = findeFahrzeug(kennzeichen);
|
||||||
|
fahrzeug.setBezahlt(true);
|
||||||
|
fahrzeug.setIstVerschuldet(false);
|
||||||
|
for (Fahrzeug f : fahrzeugeMitSchulden)
|
||||||
|
if (f.getKennzeichen().equalsIgnoreCase(kennzeichen)) {
|
||||||
|
fahrzeugeMitSchulden.remove(fahrzeug);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return fahrzeug.isBezahlt();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean setVerschuldet(String kennzeichen) throws AutoNichtGefundenException {
|
||||||
|
/* - Speichere das Auto, welches Schulden hat
|
||||||
|
* - Wenn das Auto nochmal Schuldne hat,
|
||||||
|
* lösche das alte Objekt und speichere das neue mit dem neuen Betrag
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
fahrzeug = findeFahrzeug(kennzeichen);
|
||||||
|
fahrzeug.setIstVerschuldet(true);
|
||||||
|
fahrzeug.setBezahlt(false);
|
||||||
|
|
||||||
|
Fahrzeug zuEntfernendesFahrzeug = null;
|
||||||
|
|
||||||
|
|
||||||
|
for (Fahrzeug f : fahrzeugeMitSchulden)
|
||||||
|
if (f.getKennzeichen().equalsIgnoreCase(kennzeichen)) {
|
||||||
|
//Markiere das Auto, das wir löschen wollen
|
||||||
|
zuEntfernendesFahrzeug = f;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (zuEntfernendesFahrzeug != null)
|
||||||
|
fahrzeugeMitSchulden.remove(zuEntfernendesFahrzeug);
|
||||||
|
|
||||||
|
|
||||||
|
fahrzeugeMitSchulden.add(fahrzeug);
|
||||||
|
System.out.println("Betrag: " + fahrzeug.getBetrag());
|
||||||
|
|
||||||
|
return fahrzeug.IstVerschuldet();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public boolean gebuerenNehmen(double betrag) {
|
||||||
|
|
||||||
|
return betragAktuellesAuto == betrag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean checkVisakarteNummer(String visakarteNummer) throws Exception {
|
||||||
|
return Zahlung.checkVisaKarte(visakarteNummer);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean checkParkplatze() {
|
||||||
|
return maxPlaetze > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Fahrzeug findeFahrzeug(String kennzeichen) throws AutoNichtGefundenException {
|
||||||
|
|
||||||
|
for (Fahrzeug auto : fahrzeuge)
|
||||||
|
if (auto.getKennzeichen().equals(kennzeichen))
|
||||||
|
return auto;
|
||||||
|
|
||||||
|
throw new AutoNichtGefundenException("Ihr Auto wurde nicht gefunden. Bitte wenden Sie sich an den Support");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private double rabattFuerEauto(double betrag) {
|
||||||
|
return betrag * 0.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean checkSchulden(String kennzeichen) {
|
||||||
|
for (Fahrzeug sc : fahrzeugeMitSchulden)
|
||||||
|
if (sc.getKennzeichen().equals(kennzeichen))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private double sendSchulden(String kennzeichen) {
|
||||||
|
for (Fahrzeug sc : fahrzeugeMitSchulden)
|
||||||
|
if (sc.getKennzeichen().equals(kennzeichen)) {
|
||||||
|
return sc.getBetrag();
|
||||||
|
}
|
||||||
|
return 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getMaxPlaetze() {
|
||||||
|
return maxPlaetze;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,116 @@
|
||||||
|
package Parkhaus;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class TextUI {
|
||||||
|
private Parkhaus system;
|
||||||
|
|
||||||
|
TextUI() throws ParseException, AutoNichtGefundenException, Exception {
|
||||||
|
system = new Parkhaus();
|
||||||
|
startprogramm();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void startprogramm() throws Exception {
|
||||||
|
Scanner eingabe = new Scanner(System.in);
|
||||||
|
boolean aktiv = true;
|
||||||
|
|
||||||
|
System.out.println("<<Willkommen im parkhaus 'kiss and ride'>> ");
|
||||||
|
while (aktiv) {
|
||||||
|
System.out.println();
|
||||||
|
System.out.println("Bitte Wählen Sie ein Option ein: ");
|
||||||
|
System.out.println("1.Einfahren");
|
||||||
|
System.out.println("2.Parkgebühren berechnen lassen");
|
||||||
|
System.out.println("3.Ausfahren");
|
||||||
|
System.out.println("4.Beenden");
|
||||||
|
|
||||||
|
System.out.print("> ");
|
||||||
|
String auswhal = eingabe.nextLine();
|
||||||
|
String kennzeichen;
|
||||||
|
String einfahrtzeit;
|
||||||
|
String ausfahrtzeit;
|
||||||
|
double betrag;
|
||||||
|
String visaKarteNummer;
|
||||||
|
|
||||||
|
switch (auswhal) {
|
||||||
|
case "1": // Einfahren
|
||||||
|
if (!system.checkParkplatze())
|
||||||
|
System.out.println("Es gibt im Parkhaus keine Parkplätze");
|
||||||
|
else {
|
||||||
|
System.out.println("geben Sie bitte das Kennzeichen Ihres Autos ein (optional): ");
|
||||||
|
System.out.print("> ");
|
||||||
|
kennzeichen = eingabe.nextLine();
|
||||||
|
if (system.checkSchulden(kennzeichen))
|
||||||
|
System.err.println("Das Auto mit dem Kennzeichen: " + system.getkennzeichenAktuellesAuto() + " ist im Parkhaus mit Schulden eingefahren!");
|
||||||
|
System.out.println("geben Sie nun bitte die Einfahrtszeit ein (oder lassen Sie das für das System):");
|
||||||
|
System.out.print("> ");
|
||||||
|
einfahrtzeit = eingabe.nextLine();
|
||||||
|
System.out.println(system.einfahren(kennzeichen, einfahrtzeit));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "2": // Parkgebühren berechnen lassen
|
||||||
|
System.out.println("Geben Sie erneut das Kennzeichnes Ihres Autos an");
|
||||||
|
System.out.print("> ");
|
||||||
|
kennzeichen = eingabe.nextLine();
|
||||||
|
System.out.println("Geben Sie bitte die Ausfahrtzeit ein (oder lassen Sie das für das System)");
|
||||||
|
System.out.print("> ");
|
||||||
|
ausfahrtzeit = eingabe.nextLine();
|
||||||
|
betrag = system.berechneParkgebuehren(kennzeichen, ausfahrtzeit);
|
||||||
|
System.out.println("Ihr Betrag ist: " + betrag + "€");
|
||||||
|
if (betrag > 0.0) {
|
||||||
|
String zahlungsOptions;
|
||||||
|
System.out.println("Bitte wählen Sie ein Option aus, was Sie mit dem Ihrem Betrag machen möchten: ");
|
||||||
|
System.out.println("1.Sofort bezahlen");
|
||||||
|
System.out.println("2.Betrag als Schulden hinterlassen");
|
||||||
|
System.out.print(">");
|
||||||
|
zahlungsOptions = eingabe.nextLine();
|
||||||
|
switch (zahlungsOptions) {
|
||||||
|
case "1":
|
||||||
|
System.out.println("Geben Sie bitte Ihre 16-stellige Visa-karte Nummer ein: ");
|
||||||
|
System.out.print(">");
|
||||||
|
visaKarteNummer = eingabe.nextLine().trim();
|
||||||
|
// Also wenn die Visakarte korrekt ist, markiert das System das Auto mit dem
|
||||||
|
// Kennzeichen als Bezahlt
|
||||||
|
if (system.checkVisakarteNummer(visaKarteNummer))
|
||||||
|
if (system.gebuerenNehmen(betrag)) {
|
||||||
|
system.setBezahlt(kennzeichen);
|
||||||
|
System.out.println("Ihre Auszahlung war erfolgreich");
|
||||||
|
} else
|
||||||
|
System.out.println("Die eingegebene Visa-Kartennummer ist ungültig.");
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "2":
|
||||||
|
// System markiert das Auto als verschuldet und speichert es dann im System
|
||||||
|
system.setVerschuldet(kennzeichen);
|
||||||
|
System.out.println("Der Betrag wurde als Schulden gespeichert");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
System.out.println("Das war leider keine gültige Eingabe");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "3": // Ausfahren
|
||||||
|
System.out.println("Um ausfahren zu können, sollen Sie das Kennzeichen Ihres Auto sowie die Ausfahrtzeit eingeben");
|
||||||
|
System.out.print(">");
|
||||||
|
kennzeichen = eingabe.nextLine();
|
||||||
|
System.out.println("Geben Sie nun die Ausfahrtzeit an: ");
|
||||||
|
System.out.print(">");
|
||||||
|
ausfahrtzeit = eingabe.nextLine();
|
||||||
|
if (!system.ausfahren(kennzeichen, ausfahrtzeit))
|
||||||
|
System.err.println("Das Auto mit dem Kennzeichen: " + system.getkennzeichenAktuellesAuto() + " fährt ohne Zahlung aus");
|
||||||
|
break;
|
||||||
|
case "4":
|
||||||
|
System.out.println("Das Programm wird beendet.");
|
||||||
|
aktiv = false;
|
||||||
|
eingabe.close();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
System.out.println("Das war leider keine gültige Eingabe");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
package Parkhaus;
|
||||||
|
|
||||||
|
public class Zahlung {
|
||||||
|
|
||||||
|
public static boolean checkVisaKarte(String visakarteNummer) throws Exception {
|
||||||
|
if (visakarteNummer.length() != 16)
|
||||||
|
throw new Exception("Die Nummer Ihre Visakart ist falsch");
|
||||||
|
|
||||||
|
char[] arr = visakarteNummer.toCharArray();
|
||||||
|
|
||||||
|
int index = 0;
|
||||||
|
int summe = 0;
|
||||||
|
int faktor = 2;
|
||||||
|
int Differenz = 10;
|
||||||
|
String letzteZiffer = visakarteNummer.substring(visakarteNummer.length() - 1, visakarteNummer.length());
|
||||||
|
int p = Integer.parseInt(letzteZiffer);
|
||||||
|
// Umwandle jede charZiffer alse integer Ziffer
|
||||||
|
// Verdopple jede zweite Ziffer
|
||||||
|
for (int i = arr.length - 2; i >= 0; i--) {
|
||||||
|
arr[i] -= '0';
|
||||||
|
|
||||||
|
if (index == 0) {
|
||||||
|
index++;
|
||||||
|
arr[i] *= faktor;
|
||||||
|
// Wenn ziffer > 9, ziehe 9 einfach ab (Quersumme)
|
||||||
|
if (arr[i] > 9)
|
||||||
|
arr[i] -= 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
index--;
|
||||||
|
|
||||||
|
summe += arr[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
summe %= 10;
|
||||||
|
summe = Differenz - summe;
|
||||||
|
|
||||||
|
return summe == p;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
package Parkhaus;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Random;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
/*kennzeichenzufaelliggenerieren:
|
||||||
|
*
|
||||||
|
* - Diese Klasse hat nur die Aufgabe, zufällige Kennzeichen zu generieren
|
||||||
|
* - immer wenn diese Klasse ein zufälliges Kennzeichen generiert,
|
||||||
|
* - Hashset verwenden, damit das System nicht für mehrere Autos dasselbe Kennzeichen generiert
|
||||||
|
|
||||||
|
*/
|
||||||
|
public class kennzeichenzufaelliggenerieren {
|
||||||
|
// Keine Duplikate
|
||||||
|
private static Set<String> speichereEindutigeNummern = new HashSet<>();
|
||||||
|
private static final String[] ersteZweiZeichen = { "MA", "HD", "KA", "FF", "ROK", "BW", "HH", "B", "D" };
|
||||||
|
private static final String[] zweiteZweizeichen = { "ME", "SH", "DF", "KC", "FT", "GH", "OM", "KL", "CV" };
|
||||||
|
private static String eindutigeZahlen = "";
|
||||||
|
private static Random random = new Random();
|
||||||
|
|
||||||
|
public static String kennzeichengenerieren() {
|
||||||
|
String zufaelligeKennzeichen;
|
||||||
|
|
||||||
|
zufaelligeKennzeichen = ersteZweiZeichen[random.nextInt(ersteZweiZeichen.length)];
|
||||||
|
zufaelligeKennzeichen += "-" + zweiteZweizeichen[random.nextInt(zweiteZweizeichen.length)] + " ";
|
||||||
|
|
||||||
|
do {
|
||||||
|
eindutigeZahlen = "";
|
||||||
|
for (int i = 1; i <= 4; i++)
|
||||||
|
eindutigeZahlen += random.nextInt(10);
|
||||||
|
|
||||||
|
} while (speichereEindutigeNummern.contains(eindutigeZahlen));
|
||||||
|
|
||||||
|
speichereEindutigeNummern.add(eindutigeZahlen);
|
||||||
|
zufaelligeKennzeichen += eindutigeZahlen;
|
||||||
|
|
||||||
|
if (random.nextBoolean())
|
||||||
|
zufaelligeKennzeichen += "E";
|
||||||
|
|
||||||
|
return zufaelligeKennzeichen;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -2,15 +2,9 @@ package VorlesungsFolien.Verebung;
|
||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Mitarbeiter mi = new Mitarbeiter("Müller", "27.10.1972");
|
|
||||||
System.out.println(mi.toString()); // nutzt die von Object geerbte Methode
|
|
||||||
System.out.println(mi.getDetails());
|
|
||||||
|
|
||||||
System.out.println();
|
Mitarbeiter ai = new Manager("Herr Muller" , "01.02.2011");
|
||||||
|
System.out.println(ai.getDetails());
|
||||||
Manager ma = new Manager("Stromberg", "01.02.1970");
|
|
||||||
System.out.println(ma.toString()); // wieder die Methode von Object
|
|
||||||
System.out.println(ma.getDetails());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,6 +35,7 @@ class Manager extends Mitarbeiter {
|
||||||
super(name, 65000, geburtsdatum); // das MUSS gemacht werden!
|
super(name, 65000, geburtsdatum); // das MUSS gemacht werden!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getDetails() {
|
public String getDetails() {
|
||||||
return super.getDetails() + " " + abteilung;
|
return super.getDetails() + " " + abteilung;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
package oop.Verebung;
|
||||||
|
|
||||||
|
public class Mitarbeiter {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Mitarbeiter(String name) {
|
||||||
|
super();
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void printName() {
|
||||||
|
System.out.println("Mitarbeiter: " + name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Mitarbeiter m1 = new Manager("obai");
|
||||||
|
m1.printName();
|
||||||
|
Manager m;
|
||||||
|
if (m1 instanceof Manager) {
|
||||||
|
m = (Manager) m1;
|
||||||
|
m1.printName();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Manager extends Mitarbeiter{
|
||||||
|
|
||||||
|
public Manager(String name) {
|
||||||
|
super(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void printName() {
|
||||||
|
System.out.println("Manager" + super.getName());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue