Ich versuche mir jetzt seit ein paar Tagen Java beizubringen und soweit läuft auch alles recht gut, jedoch hänge ich gerade an dem wie im Titel benannten Problem fest, dass ich nicht weiß wie ich bei einem Methodenaufruf zwei Strings (+ einen int) übergebe.
(Momentan eperementiere ich an einem Kontoprogramm rum, dass sich noch in den Anfängen befindet.)
Wenn ich also maxkonto.info() aufrufen will, kann ich die Methode scheinbar nicht mit einem String füttern, mit einem int jedoch schon.
public class Kontotest {
public static void main(String[] args) {
String kontoinhaber = "Max Mustermann ";
String kontonummer = "1234567890";
int betrag = 0;
Konto maxkonto = new Konto();
//maxkonto.auszahlen(betrag);
maxkonto.info();
}
}
class Konto{
int kontostand = 10000;
int dispo = -1000;
public void einzahlen (int betrag) {
kontostand = kontostand + betrag ;
}
public void auszahlen (int betrag) {
if (kontostand - betrag >= dispo)
kontostand = kontostand - betrag;
else
System.out.println("Nicht genug Geld");
}
public void info(){
System.out.println(kontoinhaber);
System.out.println(kontonummer);
System.out.println("Kontostand: " + kontostand + " Euro");
}
public String toString() {
return "Kontostand: " + kontostand + " Euro";
}
}
Bitte nehmt es mir nicht übel falls meine Frage besonders dumm oder schlecht gestellt ist… Das ist mein erster Beitrag und ich bin ein ziemlicher Anfänger.
P.S.: SuFu hat mich leider ums verrecken nicht weitergebracht
Also erstmal danke für die schnelle Antwort:)
Jedoch gibt es noch ein Problem an der Sache. Ich würde gerne kontostand und nicht betrag ausgeben, dieser befindet sich jedoch in der Klasse konto und nicht wie die Strings in der main-Methode.
Wie bekomme ich jetzt also kontostand rausgeholt?
Ist return vielleicht eine Lösung?
int dispo = -1000;```
Sollten immer private sein. Du musst den Zugriff darauf beschränken. Nur in besonderen Fällen sollten diese public sein. Aber dann sollte es ebenfalls dran stehen.
Hier weiteres: [Zugriffsmodifikatoren](http://www.informatikzentrale.de/zugriffsmodifikatoren-public-private-protected.html)
2. toString
Du musst die toString()-Methode nicht unbedingt überschreiben. Dies benötigst du nur, wenn du das Objekt später als String ausgeben möchtest.
Hast du die Methode mit absicht überschrieben?
Grüße Swoop
EDIT:
Um den Kontostand auszugeben, musst du einen getter für deine Eigenschaft kontostand machen.
```public int getKontostand(){
return kontostand;
}```
Die Methode kommt in die Klasse Konto. Danach kannst du in der Main auf den kontostand zugreifen mittels:
```konto.getKontostand()```
Danke euch beiden
Das mit dem getter muss ich mir auf jeden Fall merken und @Klemensy, ja, genau das war es was ich wollte:)
Ich denk wohl wirklich manchmal zu kompliziert. Das kommt wohl dabei rum wenn man seit 5 Tagen 6 Stunden am Tag nur über irgendwelchen Büchern und Codes hängt
[QUOTE=Timme]Danke euch beiden
Das kommt wohl dabei rum wenn man seit 5 Tagen 6 Stunden am Tag nur über irgendwelchen Büchern und Codes hängt :D[/QUOTE]
Och da gibts schlimmere die machen das seit Jahren 5 Tage die Woche/8 Stunden am Tag und abends ab und zu noch daheim :o)