Hi
Vor kurzem habe ich angefangen mich mit Java zu beschäftigen. Um mir das alles anzueignen benutze ich "Java ist auch eine Insel".
Da mich Klassen/Objekte irgendwie ein bisschen verwirrt haben, habe ich versucht mir das mal an einem Beispiel klarzumachen.
Dazu hab ich ein paar Fragen:
1. Ist meine herangehensweise, den Code auf mehrere *.java Dateien zu verteilen, so in Ordnung? Ich bin mir nicht sicher ob ich verstanden habe wie man seinen Code aufteilen sollte.
2. Wenn ich Methoden oder Variablen aus den Klassen Konto oder Menu in meiner main() benutzen möchte, muss ich dann immer soetwas wie
in meiner main() schreiben?
3. Bei meiner Menüauswahl, bei der ich zwischen 1,2 oder 3 entscheiden kann, möchte ich auf die Methoden in meiner Klasse Konto zugreifen. Das funktioniert aber nicht ohne
nochmal in der Methode schreibe, obwohl ich das ja eigentlich schon in meiner main() (also Bank.java) getan habe. Lässt sich darauf irgendwie zugreifen?
Verzeiht mir die gemischten Namen mancher Methoden, mir ist in dem Moment nichts besseres eingefallen.
Vielen Dank im Voraus wenn sich jemand die Mühe macht das alles durchzulesen
Hier mein Beispielprogramm:
Bank.java
Konto.java
Menu.java
Vor kurzem habe ich angefangen mich mit Java zu beschäftigen. Um mir das alles anzueignen benutze ich "Java ist auch eine Insel".
Da mich Klassen/Objekte irgendwie ein bisschen verwirrt haben, habe ich versucht mir das mal an einem Beispiel klarzumachen.
Dazu hab ich ein paar Fragen:
1. Ist meine herangehensweise, den Code auf mehrere *.java Dateien zu verteilen, so in Ordnung? Ich bin mir nicht sicher ob ich verstanden habe wie man seinen Code aufteilen sollte.
2. Wenn ich Methoden oder Variablen aus den Klassen Konto oder Menu in meiner main() benutzen möchte, muss ich dann immer soetwas wie
Java:
Menu startMenu = new Menu();
Konto Peter = new Konto();
3. Bei meiner Menüauswahl, bei der ich zwischen 1,2 oder 3 entscheiden kann, möchte ich auf die Methoden in meiner Klasse Konto zugreifen. Das funktioniert aber nicht ohne
Java:
Konto Peter = new Konto();
Peter.ID = 1337;
Peter.inhaber = "Peter";
Peter.kapital = 256;
Verzeiht mir die gemischten Namen mancher Methoden, mir ist in dem Moment nichts besseres eingefallen.
Vielen Dank im Voraus wenn sich jemand die Mühe macht das alles durchzulesen
Hier mein Beispielprogramm:
Bank.java
Java:
package klassenuebung;
import static java.lang.System.out;
import java.util.Scanner;
public class Bank {
public static void main(String[] args) {
Menu startMenu = new Menu();
Konto Peter = new Konto();
Peter.ID = 123;
Peter.inhaber = "Peter";
Peter.kapital = 256;
out.println("Kontonummer: ");
Scanner kontoNummerInput = new Scanner(System.in);
double idInput = kontoNummerInput.nextInt();
if(idInput == Peter.ID){
out.println("Willkommen " + Peter.inhaber + "!");
startMenu.showMenu();
} else {
out.println("Falsche Kontonummer!");
}
}
}
Konto.java
Java:
package klassenuebung;
import static java.lang.System.out;
import java.util.Scanner;
public class Konto {
double ID;
double kapital;
String inhaber;
public void zeigeInhaber(){
out.println("Inhaber des Kontos: " + inhaber);
}
public void showKapital(){
out.println("Ihr Kontostand beträgt: " + kapital + " €");
}
public void einzahlung(){
out.println("Wieviel € möchten Sie einzahlen? ");
Scanner userInput = new Scanner(System.in);
double betrag = userInput.nextDouble();
kapital += betrag;
out.println("Ihr Kontostand beträgt nun " + kapital + " €");
}
public void auszahlung(){
out.println("Wieviel € möchten Sie auszahlen? ");
Scanner userInput = new Scanner(System.in);
double betrag = userInput.nextDouble();
kapital -= betrag;
out.println("Ihr Kontostand beträgt nun " + kapital + " €");
}
}
Menu.java
Java:
package klassenuebung;
import static java.lang.System.out;
import java.util.Scanner;
public class Menu {
public void showMenu(){
out.println("Was möchten Sie tun?");
out.println("1: Kontostand prüfen, 2: Einzahlung, 3: Auszahlung");
Scanner userInput = new Scanner(System.in);
String menuAuswahl = userInput.next();
Konto Peter = new Konto();
Peter.ID = 123;
Peter.inhaber = "Peter";
Peter.kapital = 256;
switch(menuAuswahl){
case "1":
out.println("--Kontostand--");
Peter.showKapital();
break;
case "2":
out.println("--Einzahlung--");
Peter.einzahlung();
break;
case "3":
out.println("--Auszahlung--");
Peter.auszahlung();
break;
default:
out.println("Wählen Sie zwischen 1,2 oder 3!");
break;
}
}
}