-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSektor.java
122 lines (107 loc) · 3.73 KB
/
Sektor.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
import java.util.HashMap;
/**
* Diese Klasse stellt die Grundstruktur für die einzelnen
* Kenngrößen (hier Sektoren genannt) dar.
* Ein Sektor ist z.B. "Bevölkerungswachstum", "Lebensqualität", "Staatsvermögen"
*
* @author Livia Kadenbach
* @version 3.0
*/
public class Sektor
{
private int wert; //Aktueller Wert
private final String name; //Bezeichnung des Sektors
private final int min, max; //Minimum und Maximum definieren Wertebereich des Sektors
public static final int standardStartwert = 1; // <<< Standard-Startwert HIER VERÄNDERN, falls kein Anderer Wert vorgegeben.
public HashMap<Integer, Integer> werte; //Speichert nach und nach die Werte nach jeder Runde ein
/**
* Konstruktor der Klasse Sektor
* Prüft bei der Kostruktion, ob der Startwert im Wertebereich liegt. Falls er außerhalb des Werteberichs liegt wird die Konstruktion
* abgebrochen und eine IllegalArgumentException geworfen.
*
* @param name Name des Sektors
* @param min Kleinster Wert des Sektors
* @param max Größter Wert des Sektors
* @param startwert Definiere den Startwert des Sektors
*/
public Sektor(String name, int min, int max, int startwert) throws IllegalArgumentException
{
this.name = name;
this.min = min;
this.max = max;
if(prüfeObImWertebereich(startwert)) {
this.wert = startwert;
} else {
this.wert = standardStartwert;
throw new IllegalArgumentException("Eingelesener Startwert für '" + this.name + "' ist außerhalb des Wertebereichs (" + min + " bis " + max + ")! Standard-Startwert wird stattdessen eingefügt.");
}
werte = new HashMap<>();
System.out.println("---");
System.out.println("Neuer Sektor '" + name + "' erzeugt");
System.out.println("Wertebereich: " + min + " bis " + max);
System.out.println("Startwert: " + this.wert);
}
/**
* Alternativ-Konstruktor, falls kein Startwert vorhanden ist. Standardwert dann = standardStartwert. Siehe Instanzvariablen
*
* @param name Name des Sektors
* @param min Kleinster Wert des Sektors
* @param max Größter Wert des Sektors
*/
public Sektor(String name, int min, int max)
{
this.name = name;
this.min = min;
this.max = max;
this.wert = standardStartwert;
werte = new HashMap<>();
System.out.println("---");
System.out.println("Neuer Sektor '" + name + "' erzeugt");
System.out.println("Wertebereich: " + min + " bis " + max);
System.out.println("Startwert: " + this.wert);
}
/**
* Prüfung des eingegebenen Werts mit min und max dieses Sektors.
*
* @param eingabe Wert, welcher geprüft werden soll
* @return TRUE: Im Wertebereich, FALSE: Nicht im Wertebereich --> Weiterverwendung in Abbruchsbedingung
*/
public boolean prüfeObImWertebereich(int eingabe)
{
if(eingabe <= max && eingabe >= min) {
return true;
} else {
System.out.println(eingabe + " ist NICHT im Wertebereich");
return false;
}
}
/**
* Ruft aktuellen Wert auf und speichert es in der werte HashMap.
*/
public void aktuellenWertSpeichern(int runde)
{
//Speicher aktuellen Wert in Hashmap
werte.put(runde, getWert());
}
//Getter & Setter
public String getName()
{
return name;
}
public int getMin()
{
return min;
}
public int getMax()
{
return max;
}
public int getWert()
{
return wert;
}
public void setWert(int wert)
{
this.wert = wert;
}
}