UniStuff/Vorbereitungen/Konto.java

98 lines
2.9 KiB
Java
Raw Permalink Normal View History

2025-01-15 23:31:09 +01:00
import java.util.Scanner;
public class Konto {
static double kontostand;
static Scanner scanner;
private static boolean isInt(String input) {
try {
Integer.parseInt(input);
} catch (NumberFormatException nfe) {
return false;
}
return true;
}
private static void showBalance() {
System.out.printf("Kontostand: %f", kontostand);
}
private static void deposit() {
System.out.printf("Bitte geben Sie an, wie viel Geld sie einzahlen möchten: ");
String userInput;
while (true) {
userInput = scanner.nextLine();
if (isInt(userInput)) {
Double.parseDouble(userInput);
break;
} else {
System.out.println("Bitte geben Sie eine ganze Zahl ein.");
}
}
double cleanUserInput = Double.parseDouble(userInput);
kontostand += cleanUserInput;
}
private static void withdraw() {
System.out.printf("Bitte geben Sie ein, wie viel Sie abheben möchten: ");
String userInput;
while (true) {
userInput = scanner.nextLine();
if (isInt(userInput)) {
Double.parseDouble(userInput);
break;
} else {
System.out.println("Bitte geben Sie eine ganze Zahl ein.");
}
double cleanUserInput = Double.parseDouble(userInput);
if (cleanUserInput > kontostand) {
System.out.println("Der eingegebene Betrag ist größer als der Kontostand.");
return;
}
kontostand -= cleanUserInput;
}
}
private static void menu() {
System.out.println("1. Kontostandanzeige");
System.out.println("2. Einzahlung");
System.out.println("3. Auszahlung");
System.out.println("4. Verlassen");
System.out.printf("Eingabe: ");
String userInput;
while (true) {
userInput = scanner.nextLine();
if (isInt(userInput)) {
Integer.parseInt(userInput);
break;
} else {
System.out.println("Bitte geben Sie eine ganze Zahl ein.");
}
}
int cleanUserInput = Integer.parseInt(userInput);
while (true) {
switch (cleanUserInput) {
case 1:
showBalance();
break;
case 2:
deposit();
break;
case 3:
withdraw();
break;
case 4:
System.out.println("Verlassen...");
System.exit(0);
}
}
}
public static void main(String[] args) {
kontostand = 0;
scanner = new Scanner(System.in);
menu();
}
}