[Gelöst:] positive Null

Status
Nicht offen für weitere Antworten.

Localhope

Mitglied
Hallo. Ich habe ein Kontoverwaltungsprogramm gecshrieben. Nun habe ich aber eine lästige Ausgabe. Wenn der abzuhebende Betrag größer als der Kontostand ist, soll man die Möglichkeit haben, die Methode kredit in Anspruch zu nehmen. Bei meiner Ausgabe wird dann aber gleich davon ausgegangen. Programm:
Code:
public class Konto{
	private float kontoStand;
	private String name;
	private float betrag;
	
	public Konto(){
		kontoStand=1200f;
		name="Tux";
	}
	
	public float getKontoStand(float kontoStand){
		return kontoStand;
	}
	
	public void gutschreiben(float kontoStand, float betrag){
		betrag=1f;					//Die Gutschrift ist hier von Hand einzutragen
		if(betrag<=0){
			System.out.println("Der angegebene Betrag ist zu klein. Bitte geben Sie einen positiven Betrag ein!");
		}
		else{
			this.kontoStand=kontoStand+betrag;                       
		}
	}
	
	public void gewaehreKredit(float kontoStand, float betrag){
		betrag=1f;                 //Der Betrag ist hier von Hand einzutragen
		if((kontoStand-betrag)<=-2000){
			System.out.println("Sie haben das Limit erreicht. Maximaler Dispo: 2000 EUR!");
		}
		else{
			System.out.println("Sie haben einen Kredit beantragt. Die Gebühr hierfür beträgt 10 EUR.");
			this.kontoStand=kontoStand-betrag;
		}
	}
	
	public void abheben(float kontoStand, float betrag){
		betrag=50000f;             //Der Betrag ist hier von Hand einzutragen
		if(betrag>=kontoStand){
			System.out.println("Angegebener Betrag zu hoch. Bitte nutzen Sie die Option \"gewaehreKredit\" !");
		}
		else{
			this.kontoStand=kontoStand-betrag;	
		}
	}
	
	public static void main(String[] args){
		Konto konto1 = new Konto();
		
		System.out.println("Name: " + konto1.name+ "\nKontostand: " +konto1.kontoStand);
		
		konto1.gutschreiben(konto1.kontoStand, konto1.betrag);
		konto1.abheben(konto1.kontoStand, konto1.betrag);
		konto1.gewaehreKredit(konto1.kontoStand, konto1.betrag);
		
		System.out.println("neuer Kontostand: " + konto1.kontoStand);
	}
}

Ich möchte gerne die Methode abheben dann auf null setzen, und die methode 'gewaehre kredit" in Anspruch nehmen, sonst macht er ja beides. Aber eine null erkennt er als negativ an und sagt mir dann: Zu kleiner Betrag, bitte höheren angeben.

Wie schaff ich es dass die null als positiv anerkannt wird? Sprich: Klappt es nicht, das Geld abzuheben, da es ein zu hoher Betrag ist, soll man bei 'abheben' den Betrag auf 0 stellen und dann die Option Kredit in Anspruch nehmen.
 

madboy

Top Contributor
Hi. Ich schreibe meine Bemerkungen mal in den Quelltext als Kommentar rein.
Code:
public class Konto{ 
   private float kontoStand; 
   private String name; 
   private float betrag; //unnötig und verwirrend
    
   public Konto(){ //mach nen Konstruktor, dem man den kontoStand und name übergibt. public Konto(float kontoStand, name)
      kontoStand=1200f; 
      name="Tux"; 
   } 
    
   public float getKontoStand(float kontoStand){ //warum übergibst du hier den kontoStand? Lass das weg.
      return kontoStand; 
   } 
    
   public void gutschreiben(float kontoStand, float betrag){ //hier ebenfalls kontoStand weg lassen
      betrag=1f;               //Die Gutschrift ist hier von Hand einzutragen //nicht gut. zum Testen übergebe den Betrag in der main-Methode
      if(betrag<=0){ 
         System.out.println("Der angegebene Betrag ist zu klein. Bitte geben Sie einen positiven Betrag ein!"); 
      } 
      else{ 
         this.kontoStand=kontoStand+betrag;  //erstze this.kontoStand und kontoStand durch getKontoStand(). Dafür ist die get-Methode da.
      } 
   } 
    
   public void gewaehreKredit(float kontoStand, float betrag){ //kontoStand weg und get-Methode verwenden, wie oben
      betrag=1f;                 //Der Betrag ist hier von Hand einzutragen 
      if((kontoStand-betrag)<=-2000){ 
         System.out.println("Sie haben das Limit erreicht. Maximaler Dispo: 2000 EUR!"); 
      } 
      else{ 
         System.out.println("Sie haben einen Kredit beantragt. Die Gebühr hierfür beträgt 10 EUR."); 
         this.kontoStand=kontoStand-betrag; 
      } 
   } 
    
   public void abheben(float kontoStand, float betrag){ //kontoStand weg und get-Methode verwenden, wie oben
      betrag=50000f;             //Der Betrag ist hier von Hand einzutragen 
      if(betrag>=kontoStand){ 
         System.out.println("Angegebener Betrag zu hoch. Bitte nutzen Sie die Option \"gewaehreKredit\" !"); 
      } 
      else{ 
         this.kontoStand=kontoStand-betrag;    
      } 
   } 
    
   public static void main(String[] args){ 
      Konto konto1 = new Konto(); //entsprechend dem neuen Konstruktor aufrufen: new Konto(gewünschterKontostand, gewünschterName)
       
      System.out.println("Name: " + konto1.name+ "\nKontostand: " +konto1.kontoStand); 
       
      konto1.gutschreiben(konto1.kontoStand, konto1.betrag); //Was machst du da? konto1.gutschreiben(10f)
      konto1.abheben(konto1.kontoStand, konto1.betrag); //Was machst du da?
      konto1.gewaehreKredit(konto1.kontoStand, konto1.betrag); //Was machst du da?
       
      System.out.println("neuer Kontostand: " + konto1.kontoStand); 
   } 
}

Sehr wahrscheinlich ist dein Problem schon gelöst, wenn du obige Veränderungen vornimmst
 

Localhope

Mitglied
Nein, eigentlich nicht. Habe es so abgeändert. Es läuft nun und ist auch übersichtlicher :)

Es lag an der if-Methode. Es heißt nicht it(betrag<=0) sonder if(betrag<0). Das schließt die null mit ein :)
 
R

Roar

Gast
dein code ist trotzdem bisschen mistig und du solltest madboys änderungen einbauen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Habe ich die Aufgabe richtig gelöst? Java Basics - Anfänger-Themen 3
H Aufgabe so richtig gelöst? Java Basics - Anfänger-Themen 14
P Erste Schritte [gelöst]Erzeugen einer Klasse aus der Klassenbibliothek Java Basics - Anfänger-Themen 4
F Erste Schritte (Gelöst) Anfängerfrage Arraylist ausserhalb der Main Methode Java Basics - Anfänger-Themen 2
X problem mit equals.gelöst Java Basics - Anfänger-Themen 2
N Aufgabe richtig gelöst? Java Basics - Anfänger-Themen 7
M Ist diese Aufgabe zu umständlich gelöst? Java Basics - Anfänger-Themen 9
S Aufgabe gelöst, lässt sich aber nicht kompilieren Java Basics - Anfänger-Themen 3
J Vereinigung von 2 Mengen [gelöst] Java Basics - Anfänger-Themen 2
W ProcessBuilder Problem -->gelöst - - Jetzt JEditorPane Problem Java Basics - Anfänger-Themen 6
A [gelöst]Array mit ArrayList-Einträgen Java Basics - Anfänger-Themen 12
B While Schleife steuern (gelöst) Java Basics - Anfänger-Themen 2
Strahlungsleck [gelöst]File Pfadangabe funktioniert nicht mit Servername/IP Java Basics - Anfänger-Themen 2
A [gelöst]Aus der Klasse heraus auf ein anderes Objekt zugreifen Java Basics - Anfänger-Themen 4
A [gelöst]Zwei Ausgaben, die eigentlich gleich sein sollten Java Basics - Anfänger-Themen 9
A [gelöst]Objekte in einer Schleife erzeugen Java Basics - Anfänger-Themen 9
A [gelöst]ArrayList Java Basics - Anfänger-Themen 6
Bloodredangel [gelöst] Kompilieren von .java-Dateien per javac Java Basics - Anfänger-Themen 5
J Aufgabenverteilung über einen Zeitraum: So geschickt gelöst? Java Basics - Anfänger-Themen 3
S [gelöst] Wie kann ich später über Objekte zeichnen Java Basics - Anfänger-Themen 2
D Probleme bei Code Portierung von C# nach Java [Gelöst] Java Basics - Anfänger-Themen 4
L Gelöst: Negative Eingaben sollen verweigert werden Java Basics - Anfänger-Themen 3
L [Gelöst] Cannot make a static reference ... Java Basics - Anfänger-Themen 12
L [gelöst] Einfache Aufgabe, läuft aber nicht. Java Basics - Anfänger-Themen 8
vogella *Gelöst *Im Programm warten (wait()) Java Basics - Anfänger-Themen 2
S die konsole[gelöst] Java Basics - Anfänger-Themen 16
S schaltjahr (gelöst zu 90 %), allerdings folgeprob :/ Java Basics - Anfänger-Themen 18
J Methoden Positive Werte zählen Java Basics - Anfänger-Themen 3
C Positive und negative Zahlen mit Regex extrahieren Java Basics - Anfänger-Themen 8
J 10 positive Zahlen eingeben Java Basics - Anfänger-Themen 10
S Mit nextGaussian() positive Zahlen erzeugen? Java Basics - Anfänger-Themen 39
W Wie ziehe ich positive ungerade Zahlen von meinem Hauptwert ab? Java Basics - Anfänger-Themen 17
L Greates Commong Dividend - euklidischer Algorithmus, modulos not positive Java Basics - Anfänger-Themen 5
ubaro1 Operatoren Der Tide Operator und positive Ganzzahlen in Binär Java Basics - Anfänger-Themen 1
B Input/Output Positive und negative Zahlen ausgeben Java Basics - Anfänger-Themen 27
J Simple Frage: Positive Zahlen zu Negativen machen. Java Basics - Anfänger-Themen 11
G Nur positive Zahlen Java Basics - Anfänger-Themen 17
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
J 2 listen vergleichen, die auch null Elemente haben können ! Java Basics - Anfänger-Themen 9
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
H Ein übergegebenes Objekt auf null setzen Java Basics - Anfänger-Themen 9
P Buffer und null Java Basics - Anfänger-Themen 3
"java.util.HashMap.get(Object)" is null Java Basics - Anfänger-Themen 10
jakobfritzz Array- cannot invoke "" because "" is null Java Basics - Anfänger-Themen 4
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
N null in String replacen Java Basics - Anfänger-Themen 16
S JavaKara Null Exception Error Java Basics - Anfänger-Themen 4
K Bufread.readLine())!= null wie beenden? Java Basics - Anfänger-Themen 4
C Variablen Provided text for message may not be null Java Basics - Anfänger-Themen 9
T ComboBox getValue() zeigt null Java Basics - Anfänger-Themen 7
J null exception Array Java Basics - Anfänger-Themen 5
tobikoch String x= null Bedeutung Java Basics - Anfänger-Themen 9
C NumberFormatException: null ohne Ausnahmebehandlung stoppen Java Basics - Anfänger-Themen 7
J Int wird als Null ausgegeben Java Basics - Anfänger-Themen 8
M Prüfen auf null ohne NPE Java Basics - Anfänger-Themen 1
C Array-Eintrag wieder auf Null setzen Java Basics - Anfänger-Themen 3
C Array auf Null-Inhalte prüfen Java Basics - Anfänger-Themen 9
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
M jTable bekommt null Java Basics - Anfänger-Themen 1
B MySQL (jdbc) -> connection liefert NULL Java Basics - Anfänger-Themen 3
der_Schokomuffin Hilfe gesucht: String wird auf null gesetzt! Java Basics - Anfänger-Themen 17
L Warum ist Variable null? Java Basics - Anfänger-Themen 3
J javax.servlet.ServletException: Name is null Java Basics - Anfänger-Themen 7
B if(object== null) abkürzen? Java Basics - Anfänger-Themen 6
O JavaArray Null Java Basics - Anfänger-Themen 3
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
W NullPointerException obwohl nicht null? Java Basics - Anfänger-Themen 3
D Best Practice Konvention - Klassenmembers auf null setzen? Java Basics - Anfänger-Themen 2
I Null-Überprüfung durch Lambda-Expressions abkürzen Java Basics - Anfänger-Themen 8
Orkanson Null Pointer Expception Java Basics - Anfänger-Themen 3
M set Integer bzw. set null mit SQL DB Java Basics - Anfänger-Themen 9
I Polymorphie Null Objekt Java Basics - Anfänger-Themen 3
O Datentypen Integer mit führender Null Java Basics - Anfänger-Themen 13
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
J Einfache Frage zu "null" Java Basics - Anfänger-Themen 2
T Datei in Array einlesen "null" Java Basics - Anfänger-Themen 8
P Operatoren Parameter nicht auf null geprüft? Java Basics - Anfänger-Themen 16
K Operatoren 2D Int Array auf Null-Referenzen prüfen Java Basics - Anfänger-Themen 18
C Null Pointer Exception Java Basics - Anfänger-Themen 10
V Elemente aus einem Array mit null überschreiben Java Basics - Anfänger-Themen 4
V String Array gegen null-Eintrag sichern Java Basics - Anfänger-Themen 11
G Null Pointer Exception Java Basics - Anfänger-Themen 4
R Gleitkommazahlen ohne führende Null Java Basics - Anfänger-Themen 10
M array = null Java Basics - Anfänger-Themen 2
F String equals NULL Problem Java Basics - Anfänger-Themen 4
F JSON null macht mir ein Problem Java Basics - Anfänger-Themen 3
R Property Value als null setzen Java Basics - Anfänger-Themen 1
D Arrays.toString spuckt null aus? Java Basics - Anfänger-Themen 3
T Compiler-Fehler Null type safety (type annotations) Java Basics - Anfänger-Themen 5
F Erste Schritte Unterschied: Array "leer" / "null" Java Basics - Anfänger-Themen 3
J Fehlerhafte Ausgabe "null" Java Basics - Anfänger-Themen 2
G Threads zum Thema Threads??? null Ahnung Java Basics - Anfänger-Themen 4
W Input/Output DataOutputStream gibt NULL zurück Java Basics - Anfänger-Themen 5
J Einfach verkettet List: Ausgabe ohne null Java Basics - Anfänger-Themen 11
D OOP Warum bekomme ich eine Null-Pointer Exception!!? :( Java Basics - Anfänger-Themen 4
D Null Ausgabe obwohl wert zugewiesen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben