# Konto!



## edith{\} (22. Nov 2006)

Schreiben sie eine Klasse,die ein Konto darstellt. 
as Konto soll durch den Namen des Inhaber,eine Kontonummer und durch einen Guthabenbetrag beschrieben werden. 
ie Klasse verfügt über 2 KOnstruktoren.Der erste setz Standardwerte,der zweite läßt individuelle Werte zu. 
ie Klasse verfügt über eine Ausgabemethode,welche alle Eigenschaften sinnvoll ausgibt. 
Ie Klasse verfügt über eine Methode ,mit deren Hilfe das Guthaben geändert werden kann.Voraussetzung für die Änderung des Guthabens ist es,dass das Guthaben nicht negativ wird.WÜrde es negativ,so gibt es einen entsprechende Fehlermeldung.Das GUthaben wird dann nicht geändert. 
____________________________________________________________________________ 
Hat schonmal einer von euch so eine Aufgabe gelöst? oder hat Tipps zúm Aufbau und so? 
 :arrow: danke danke


----------



## moormaster (22. Nov 2006)

Wo liegt da nun das Problem? Es wird wohl kaum jemand eine Fertiglösung für dich schreiben...


----------



## edith{\} (22. Nov 2006)

"Hat schonmal einer von euch so eine Aufgabe gelöst? oder hat Tipps zúm Aufbau und so? "
kannst du lesen ich habe nich gesagt dass das einer fertig schreiben soll ,häät ja sein könnnen das dass einer hat´und nen guten tipp oder so?


----------



## edith {\} (22. Nov 2006)

```
public class Konto 
{ 
public Konto (Person kunde, Adresse kundenadresse, double betrag, int kontonummer) 
{ 
this.kunde = kunde; 
this.kundenadresse = kundenadresse; 
this.betrag = betrag; 
this.kontonummer=2132; 
this.betrag=5.000; 

} 


public static void main (String args[]){ 

betrag1 = Eingabe.doubleEinlesen("Geben Sie den abzuhebenden Betrag ein: ") * -1; 
if (betrag1 * -1 > betrag) 
{ 
System.out.println("Sie würden Ihr Konto überziehen! Verboten!"); 
} 
else 
{ 
betrag += betrag1; 
System.out.println("Ihr neuer Kontostand beträgt: " + betrag); 
} 

} 

{ 
betrag1 = Eingabe.doubleEinlesen("Geben Sie den einzuzahlenden Betrag ein; "); 
betrag += betrag1; 
System.out.println("Ihr neuer Kontostand beträgt: " + betrag); 
} 
} 


System.out.println ("Ihr aktueller Kontostand lautet: " + betrag); 

} 
}
```

ich bekomme hier immmer 3 Fehlermeldungen.. 

Compile H:\Documents\Konto.java.... 
H:\Documents\Konto.java:37: 'class' or 'interface' expected 

System.out.println ("Ihr aktueller Kontostand lautet: " ++ betrag); 

^ 

H:\Documents\Konto.java:39: 'class' or 'interface' expected 

} 

^ 

H:\Documents\Konto.java:42: 'class' or 'interface' expected 

^ 

3 errors 

weiß einer was hier falsch ist??


----------



## Murray (22. Nov 2006)

Zähl mal die geschweiften Klammern durch...

Mit vernünftigen Einrückungen passieren solche Fehler nicht so leicht:

```
public class Konto {
	
	public Konto (Person kunde, Adresse kundenadresse, double betrag, int kontonummer) {
		this.kunde = kunde;
		this.kundenadresse = kundenadresse;
		this.betrag = betrag;
		this.kontonummer=2132;
		this.betrag=5.000;
		
	}
	
	
	public static void main (String args[]){
		
		betrag1 = Eingabe.doubleEinlesen("Geben Sie den abzuhebenden Betrag ein: ") * -1;
		if (betrag1 * -1 > betrag) {
			System.out.println("Sie würden Ihr Konto überziehen! Verboten!");
		} else{
			betrag += betrag1;
			System.out.println("Ihr neuer Kontostand beträgt: " + betrag);
		}
		

		betrag1 = Eingabe.doubleEinlesen("Geben Sie den einzuzahlenden Betrag ein; ");
		betrag += betrag1;
		System.out.println("Ihr neuer Kontostand beträgt: " + betrag);

		System.out.println ("Ihr aktueller Kontostand lautet: " + betrag);

	}
}
```


----------



## Guest (22. Nov 2006)

```
Compile C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java....
C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:1: class Konto is public, should be declared in a file named Konto.java

public class Konto { 

       ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:3: cannot find symbol

symbol  : class Person

location: class Konto

   public Konto (Person kunde, Adresse kundenadresse, double betrag, int kontonummer) { 

                 ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:3: cannot find symbol

symbol  : class Adresse

location: class Konto

   public Konto (Person kunde, Adresse kundenadresse, double betrag, int kontonummer) { 

                               ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:4: cannot find symbol

symbol  : variable kunde

location: class Konto

      this.kunde = kunde; 

      ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:5: cannot find symbol

symbol  : variable kundenadresse

location: class Konto

      this.kundenadresse = kundenadresse; 

      ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:6: cannot find symbol

symbol  : variable betrag

location: class Konto

      this.betrag = betrag; 

      ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:7: cannot find symbol

symbol  : variable kontonummer

location: class Konto

      this.kontonummer=2132; 

      ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:8: cannot find symbol

symbol  : variable betrag

location: class Konto

      this.betrag=5.000; 

      ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:15: cannot find symbol

symbol  : variable betrag1

location: class Konto

      betrag1 = Eingabe.doubleEinlesen("Geben Sie den abzuhebenden Betrag ein: ") * -1; 

      ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:15: cannot find symbol

symbol  : variable Eingabe

location: class Konto

      betrag1 = Eingabe.doubleEinlesen("Geben Sie den abzuhebenden Betrag ein: ") * -1; 

                ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:16: cannot find symbol

symbol  : variable betrag1

location: class Konto

      if (betrag1 * -1 > betrag) { 

          ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:16: cannot find symbol

symbol  : variable betrag

location: class Konto

      if (betrag1 * -1 > betrag) { 

                         ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:19: cannot find symbol

symbol  : variable betrag

location: class Konto

         betrag += betrag1; 

         ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:19: cannot find symbol

symbol  : variable betrag1

location: class Konto

         betrag += betrag1; 

                   ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:20: cannot find symbol

symbol  : variable betrag

location: class Konto

         System.out.println("Ihr neuer Kontostand beträgt: " + betrag); 

                                                               ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:24: cannot find symbol

symbol  : variable betrag1

location: class Konto

      betrag1 = Eingabe.doubleEinlesen("Geben Sie den einzuzahlenden Betrag ein; "); 

      ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:24: cannot find symbol

symbol  : variable Eingabe

location: class Konto

      betrag1 = Eingabe.doubleEinlesen("Geben Sie den einzuzahlenden Betrag ein; "); 

                ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:25: cannot find symbol

symbol  : variable betrag

location: class Konto

      betrag += betrag1; 

      ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:25: cannot find symbol

symbol  : variable betrag1

location: class Konto

      betrag += betrag1; 

                ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:26: cannot find symbol

symbol  : variable betrag

location: class Konto

      System.out.println("Ihr neuer Kontostand beträgt: " + betrag); 

                                                            ^

C:\Dokumente und Einstellungen\palsherm\Eigene Dateien\sonstiges\konto.java:28: cannot find symbol

symbol  : variable betrag

location: class Konto

      System.out.println ("Ihr aktueller Kontostand lautet: " + betrag); 

                                                                ^

21 errors

[\code]

so schaut das jetz aus
```


----------



## Murray (22. Nov 2006)

Und wo ist das Problem? Der Compiler sagt doch, was ihm nicht passt.

1. Die Datei muss Konto.java heissen (und nicht konto.java)

2. Die Klassen Person und Adresse werden nicht gefunden

3. Die Member kunde, kundenadresse, betrag und kontonummer sind nicht deklariert

4. In der main-Methode ist die Variable betrag1 nicht deklariert


----------



## MookiE (22. Nov 2006)

http://www.galileocomputing.de/openbook/javainsel5/

mehr sag ich dazu nich!


----------



## DocRandom (22. Nov 2006)

Hi edith!

Gemäß Deiner Aufgabenstellung, habe ich mir erlaubt die Klasse Konto zu erstellen.
Diese auch reichlich mit Kommentaren versehen, damit Du siehst wie sowas aussehen könnte:
*Konto.java*

```
package edith;

public class Konto {
	// :Das Konto soll durch den Namen des Inhaber,eine Kontonummer und durch einen Guthabenbetrag beschrieben werden. 
	private int kontonummer;  // Kontonummer, satisch, wird bei jeder Neuanlage erhöht
	private double saldo;	// Guthabenbetrag
	private String inhaber; // Inhaber (Name, des Inhabers)
	
	// private Hilfsvariablen
	private final boolean SALDO_OK = true;
	private final boolean SALDO_FAILED = false;
	private static int lfdktonr = 0;
	
	// :Die Klasse verfügt über 2 KOnstruktoren.Der erste setz Standardwerte,der zweite läßt individuelle Werte zu.
	//Der erste setz Standardwerte
	public Konto() {
		kontonummer = ++lfdktonr;
		saldo = 0;
		inhaber = "Testkonto"+kontonummer;
	}
	// der zweite läßt individuelle Werte zu.
	public Konto(String besitzer, double kontostand) {
		kontonummer = ++lfdktonr;
		saldo = kontostand;
		inhaber = besitzer;
	}
	//:Die Klasse verfügt über eine Ausgabemethode,welche alle Eigenschaften sinnvoll ausgibt. 
	public String toString() {
		return ("Inhaber: "+inhaber+" Kontonr: "+kontonummer+" Saldo: "+saldo+" €");
	}
	/*
	 * ich würde allerdings folgende Ausgaben eher für sinnvoll erachten
	 * public String getInhaber() {
	 * 		return inhaber;
	 * }
	 * public double getSaldo() {
	 * 		return saldo;
	 * }
	 * public int getKontoNummer() {
	 * 		return kontonummer;
	 * }
	 */
	
	/*
	 * DIe Klasse verfügt über eine Methode ,mit deren Hilfe das Guthaben geändert werden kann.
	 * Voraussetzung für die Änderung des Guthabens ist es,dass das Guthaben nicht negativ wird.
	 * WÜrde es negativ,so gibt es einen entsprechende Fehlermeldung.Das GUthaben wird dann nicht geändert. 
	 */
	/*
	 *  wird der Methode ein negativer Betrag übergeben, so wird abgebucht
	 *  Ansonsten wird zugebucht.
	 * 	@parameter: double buchungsbetrag
	 *  @rückgabe : boolean true fuer OK, false fuer keine Buchung 
	 */
	public boolean setSaldo(double buchungsbetrag) {
		if ((buchungsbetrag * -1) > saldo) 
			return SALDO_FAILED;
		
		saldo+= buchungsbetrag;
		return SALDO_OK;
	}
}
```

..da die Klasse e´h schon Kommentiert ist, denke ich mal. brauchen wir den Code nimmer besprechen!
Sollten dennoch Fragen auftauchen, dann stelle sie bitte!

mfg
DocRandom


----------



## Murray (22. Nov 2006)

moormaster hat gesagt.:
			
		

> Wo liegt da nun das Problem? Es wird wohl kaum jemand eine Fertiglösung für dich schreiben...



Glück gehabt, da hat sich doch jemand gefunden. Eigentlich ist das aber nicht Sinn der Sache...   :noe:


----------

