Funktionierendes Menü mit:

Konto erstellen
ein/aus Zahlung und ausgabe Kontostand
master
Florian Hörner 2023-12-19 14:34:31 +01:00
commit fd51dcf32a
10 changed files with 303 additions and 0 deletions

29
.gitignore vendored 100644
View File

@ -0,0 +1,29 @@
### IntelliJ IDEA ###
out/
!**/src/main/**/out/
!**/src/test/**/out/
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

8
.idea/.gitignore vendored 100644
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

6
.idea/misc.xml 100644
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/eigenebank.iml" filepath="$PROJECT_DIR$/eigenebank.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml 100644
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

11
eigenebank.iml 100644
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

68
src/Bank.java 100644
View File

@ -0,0 +1,68 @@
import java.util.ArrayList;
public class Bank {
private String name;
private static ArrayList<Bankkonto> kontenListe = new ArrayList<>();
public Bank(String name){
this.kontenListe = new ArrayList<>();
this.name = name;
}
public static boolean bankkontoVorhanden(int kontoNr) {
Bankkonto bk = bankkontofinden(kontoNr);
if (bk != null) {
return true;
}
return false;
}
public int kontoAnlegen(String inhaber){
Bankkonto bk = new Bankkonto(inhaber);
kontenListe.add(bk);
return bk.getKontonummer();
}
public String getName() {
return this.name;
}
public boolean geldeinzahlen(int kontonummer, double betrag) {
if (betrag > 0) {
Bankkonto bk = bankkontofinden(kontonummer);
if(bk != null){
bk.geldEinzahlen(betrag);
return true;
}
}
return false;
}
private static Bankkonto bankkontofinden(int kontonummer) {
for (int i = 0; i < kontenListe.size(); i++) {
if (kontenListe.get(i).getKontonummer() == kontonummer) {
return kontenListe.get(i);
}
}
return null;
}
public double kontostandausgeben(int kontonummer) {
Bankkonto bk = bankkontofinden(kontonummer);
return bk.kontostand;
}
public boolean geldauszahlen(int kontonummer, double betrag) {
Bankkonto bk = bankkontofinden(kontonummer);
if (bk.kontostand >= betrag) {
bk.geldAuszahlen(betrag);
return true;
}
return false;
}
}

107
src/BankUI.java 100644
View File

@ -0,0 +1,107 @@
import java.util.Scanner;
public class BankUI {
private static Bank bank = new Bank("Spaßkasse");
private static Scanner kb = new Scanner(System.in);
public static void main(String[] args){
willkommen();
hauptmenue();
}
private static void hauptmenue() {
System.out.println("Verfügbare Funktionalität: ");
System.out.println("1) Konto anlegen");
System.out.println("2) Geld einzahlen");
System.out.println("3) Geld auszahlen");
System.out.println("4) Kontostand ausgeben");
System.out.println("9) Programm beenden");
int eingabe;
do {
System.out.println();
System.out.print("Eingabe > ");
eingabe = kb.nextInt();
switch (eingabe) {
case 1 -> kontoAnlegenScreen();
case 2 -> geldEinzahlenScreen();
case 3 -> geldAuszahlenScreen();
case 4 -> kontostandAusgebenScreen();
case 5 -> System.out.println(eingabe);
case 6 -> System.out.println(eingabe);
case 7 -> System.out.println(eingabe);
case 8 -> System.out.println(eingabe);
case 9 -> aufWiedersehen();
default -> System.out.println("Fehler bei Eingabe! Versuchen Sie es erneut.");
}
} while (eingabe != 9);
}
private static void kontostandAusgebenScreen() {
int kontonummer = kontonummerAbfrage();
if (Bank.bankkontoVorhanden(kontonummer)) {
System.out.println("Sie haben " +bank.kontostandausgeben(kontonummer)+ "€ auf dem Konto");
} else {
System.out.println("Konto mit Kontonummer: " +kontonummer+ " konnte nicht gefunden werden");
}
}
private static void geldAuszahlenScreen() {
int kontonummer = kontonummerAbfrage();
if (Bank.bankkontoVorhanden(kontonummer)) {
System.out.print("Betrag den sie auszahlen wollen: ");
double betrag = kb.nextInt();
if (bank.geldauszahlen(kontonummer, betrag)) {
System.out.println("Es wurden "+betrag+ "€ aus dem Konto ausgezahlt.");
} else {
System.out.println("Fehler - Es wurde kein Geld ausgezahlt!");
}
} else {
System.out.println("Konto mit Kontonummer: " +kontonummer+ " konnte nicht gefunden werden");
}
}
private static void geldEinzahlenScreen() {
System.out.println("Geldeinzahlen");
int kontonummer = kontonummerAbfrage();
System.out.print("Betrag den sie einzahlen wollen: ");
double betrag = kb.nextDouble();
if (bank.geldeinzahlen(kontonummer, betrag)) {
System.out.println("Es wurden "+betrag+ "€ in das Konto eingezahlt.");
} else {
System.out.println("Fehler - Es wurde kein Geld eingezahlt!");
}
}
private static void cls() {
for (int i = 0; i < 40; i++) {
System.out.println();
}
}
private static int kontonummerAbfrage() {
System.out.print("Bitte Kontonummer angeben: ");
return kb.nextInt();
}
private static void aufWiedersehen() {
System.out.println("Die " + bank.getName() + " verabschiedet sich.");
}
private static void kontoAnlegenScreen() {
System.out.print("Bitte Namen des künftigen Inhabers angeben: ");
String inhaber = kb.next();
int kontonummer = bank.kontoAnlegen(inhaber);
System.out.println("Konto mit der Kontonummer: " +kontonummer+ " wurde angelegt!");
}
public static void willkommen(){
System.out.println("Willkommen bei der " + bank.getName() + "!");
}
}

43
src/Bankkonto.java 100644
View File

@ -0,0 +1,43 @@
public class Bankkonto {
String name;
int kontonummer;
double kontostand;
static int kontozaehler = (int) (Math.random()*10000+1000);
public Bankkonto(String name){
this.name = name;
this.kontostand = 0.0;
this.kontonummer = kontozaehler++;
}
public double geldEinzahlen(double betrag){
kontostand += betrag;
return kontostand;
}
public double geldAuszahlen(double betrag){
kontostand -= betrag;
return kontostand;
}
public double getKontostand() {
return kontostand;
}
public String getName() {
return name;
}
public int getKontonummer() {
return kontonummer;
}
@Override
public String toString() {
return "Name: " +name+ " Kontostand: " +kontostand+ " Konto Nummer: " +kontonummer;
}
}

17
src/Main.java 100644
View File

@ -0,0 +1,17 @@
// Press Shift twice to open the Search Everywhere dialog and type `show whitespaces`,
// then press Enter. You can now see whitespace characters in your code.
public class Main {
public static void main(String[] args) {
// Press Alt+Eingabe with your caret at the highlighted text to see how
// IntelliJ IDEA suggests fixing it.
System.out.printf("Hello and welcome!");
// Press Umschalt+F10 or click the green arrow button in the gutter to run the code.
for (int i = 1; i <= 5; i++) {
// Press Umschalt+F9 to start debugging your code. We have set one breakpoint
// for you, but you can always add more by pressing Strg+F8.
System.out.println("i = " + i);
}
}
}