-
Notifications
You must be signed in to change notification settings - Fork 0
/
GradeConverter.java
121 lines (113 loc) · 3.78 KB
/
GradeConverter.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
121
import java.util.Scanner;
public class Main {
private static Scanner input;
public static void main(String[] args) // Sollte klar sein
{
String wert = null; // Der Wert
String str; // Temporärer String
input = new Scanner(System.in); // Eingabescanner vorbereiten
while (true) {
System.out.println("Notenrechner");
System.out.println("Ursprungsformat: (P)rozent, (N)ote oder (E)nde?");
str = input.next(); // Antwort einlesen
if (str.equalsIgnoreCase("n")) { // Vergleichen, dabei
// Groß/Kleinschreibung
// ignorieren
System.out.print("Geben Sie den Ursprungswert ein: ");
str = input.next(); // Wert einlesen
if (isNumeric(str)) { // Wenn wert nummer
switch (Integer.parseInt(str)) { // In Integer umwandeln und
// switchen
case 1: // Eins
wert = "Sehr gut";
break;// Switch Verlassen
case 2: // Zwei
wert = "Gut";
break;// Switch Verlassen
case 3: // Drei
wert = "Befriedigend";
break;// Switch Verlassen
case 4: // Vier
wert = "Ausreichend";
break;// Switch Verlassen
case 5: // Fünf
wert = "Mangelhaft";
break;// Switch Verlassen
case 6: // Sechs
wert = "Ungenügend";
break;// Switch Verlassen
default: // Irgendwas anderes
wert = "keiner Prozentzahl";
}
System.out.print(str); // Ursprungswert ausgeben
System.out.print(" entspricht "); // ist klar
System.out.print(wert); // Ergebnis ausgeben
} else { // Wenn eingabe keine nummer
System.out.println("Eingabe war keine Zahl!"); // fehler
}
} else if (str.equalsIgnoreCase("p")) { // Vergleichen, dabei
// Groß/Kleinschreibung
// ignorieren
System.out.print("Geben Sie den Ursprungswert ein: ");
str = input.next(); // Wert einlesen
if (isNumeric(str)) {// Wenn wert nummer
if (Integer.parseInt(str) < 29) { // Weniger als 29
wert = "6";
} else if (Integer.parseInt(str) < 49) { // Weniger als 49
wert = "5";
} else if (Integer.parseInt(str) < 66) { // Weniger als 66
wert = "4";
} else if (Integer.parseInt(str) < 80) { // Weniger als 80
wert = "3";
} else if (Integer.parseInt(str) < 91) { // Weniger als 91
wert = "2";
} else if (Integer.parseInt(str) < 100) { // Weniger als 100
wert = "1";
} else { // Fehler
wert = "Fehler";
}
System.out.print(str);// Ursprungswert ausgeben
System.out.print("% entspricht Note "); // ist klar
System.out.print(wert); // Ergebnis ausgeben
if (isNumeric(wert)) { // Wenn wert nummer
System.out.print(" ("); // ist auch klar
str = wert; // Zum weiterrechnen in str schieben
int tmp = Integer.parseInt(str);
switch (tmp) { // In Integer umwandeln und switchen
case 1: // Eins
wert = "Sehr gut";
break; // Switch Verlassen
case 2: // Zwei
wert = "Gut";
break;// Switch Verlassen
case 3: // Drei
wert = "Befriedigend";
break;// Switch Verlassen
case 4: // Vier
wert = "Ausreichend";
break;// Switch Verlassen
case 5: // Fünf
wert = "Mangelhaft";
break;// Switch Verlassen
case 6: // Sechs
wert = "Ungenügend";
break;// Switch Verlassen
default:
wert = "Bereichsfehler";
}
System.out.print(wert); // Ergebnis ausgeben
System.out.print(")"); // ist auch klar
}
} else {// Wenn eingabe keine nummer
System.out.println("Eingabe war keine Zahl!");// fehler
}
} else if (str.equalsIgnoreCase("e")) { // Wenn Eingabe E
System.out.println("Tschüssi!"); // Freundlich sein
break; // Programm beenden
}
}
}
public static boolean isNumeric(String s) {
return s.matches("[-+]?\\d*\\.?\\d+");
}
}