Hallo 
Kurze Vorstellung meinerseits:
Ich began letzte Woche mein Informatikstudium und bin total von allem begeistert. Im ersten Semester lernen wir C, darauffolgend Java. Ich programmiere sehr gerne, auch wenn ich diese Leidenschaft erst vor 2 Wochen entdeckt habe. Demnach fehlen mir noch sehr viele Kenntnisse, ich arbeite jedoch stark daran, das fehlende Wissen schnellstmöglich zu füllen.
Einleitung:
Ich möchte gerne einen "Bankautomaten" Programmieren, welcher in der Console Werte und Sätze ausgibt (Vorerst ohne GUI). Der Nutzer soll wählen können, was er machen möchte. Ob "Guthabenabfrage" o. "Betrag abheben / einzahlen" - eben die typischen Sachen, die man an einem Bankautomaten erledigen kann.
Frage:
Welche Möglichkeiten habe ich, den Benutzer auswählen zu lassen, was er gerne tun möchte?
Ich hatte an eine Eingabe via Scanner gedacht, die auf die jeweiligen Methoden springt.
Beispiel: Drücke "A" für Abheben.
Ist dieser Grundgedanke machbar oder gibt es bessere/effizientere Wege?
Sowie möchte ich meinen bisherigen Code vorstellen, um zu erfahren, welche Verbesserungsmöglichkeiten es generell gibt (Lesbarkeit, Konventionen etc...)
Code bisher:
Main:
Konto class mit Abhebung:
Kurze Vorstellung meinerseits:
Ich began letzte Woche mein Informatikstudium und bin total von allem begeistert. Im ersten Semester lernen wir C, darauffolgend Java. Ich programmiere sehr gerne, auch wenn ich diese Leidenschaft erst vor 2 Wochen entdeckt habe. Demnach fehlen mir noch sehr viele Kenntnisse, ich arbeite jedoch stark daran, das fehlende Wissen schnellstmöglich zu füllen.
Einleitung:
Ich möchte gerne einen "Bankautomaten" Programmieren, welcher in der Console Werte und Sätze ausgibt (Vorerst ohne GUI). Der Nutzer soll wählen können, was er machen möchte. Ob "Guthabenabfrage" o. "Betrag abheben / einzahlen" - eben die typischen Sachen, die man an einem Bankautomaten erledigen kann.
Frage:
Welche Möglichkeiten habe ich, den Benutzer auswählen zu lassen, was er gerne tun möchte?
Ich hatte an eine Eingabe via Scanner gedacht, die auf die jeweiligen Methoden springt.
Beispiel: Drücke "A" für Abheben.
Ist dieser Grundgedanke machbar oder gibt es bessere/effizientere Wege?
Sowie möchte ich meinen bisherigen Code vorstellen, um zu erfahren, welche Verbesserungsmöglichkeiten es generell gibt (Lesbarkeit, Konventionen etc...)
Code bisher:
Main:
Java:
import java.util.Scanner;
public class Java {
public static void main(String[] args) {
System.out.println("Willkommen beim Bankautomatt!");
System.out.println("");
{
Konto giro = new Konto ();
giro.inhaber = "M";
giro.guthaben = 2500;
giro.nummer = 6500;
giro.BLZ = 5800;
giro.limit = -500;
System.out.println(giro.inhaber);
System.out.println("Ihr Kontostand "+ giro.guthaben +"€");
System.out.println("Sie dürfen Ihren Betrag überziehen um " + (giro.limit*-1) + "€");
System.out.println("");
System.out.println("Bitte geben Sie den Betrag ein, den Sie abheben möchten!");
Scanner betrag = new Scanner (System.in);
double x = betrag.nextDouble();
giro.abheben(x);
System.out.println(giro.guthaben);
betrag.close();
}
}
}
Konto class mit Abhebung:
Java:
public class Konto {
String inhaber;
double guthaben;
int BLZ;
int nummer;
double limit;
public boolean abheben (double betrag) {
if (betrag < 0) { //abheben von negativen beträgen geht nicht
System.out.println("Sie können keine Minusbeträge abheben!");
System.out.print("Derzeitiger Kontostand: ");
return false;
}
else if ((guthaben - betrag) >= limit) {
guthaben = guthaben - betrag;
System.out.println("Neuer Kontobetrag: ");
return true; //abheben erfolgreich
}
else {
System.out.println("Abheben nicht möglich, da Ihre Kontodeckung nicht ausreichend ist!");
System.out.print("Derzeitiger Kontostand: ");
return false; //Limit überzogen
}
}
}