Methoden Methode wird doppelt aufgerufen ...

steman

Mitglied
Hi, ich habe angefangen einen kleinen Umrechner zu basteln, so als Einstieg, und die Methode "berechnung()" in Zeile 26 von Umrechner.java wird immer doppelt aufgerufen ...

Hier mal das Programm:

Geldumrechnung.java
Java:
public class Geldumrechnung{

	float fBetrag = 0;
	float fWechselkurs = 10;
	boolean bRichtung = false; //false: Waehrung1 zu Waehrung2, true: umgekehrt
	float fUmgerechneterBetrag = 0;
	
	public Geldumrechnung(float f1, boolean b){
		fBetrag = f1;
		bRichtung = b;
		berechnung();
	}
	
	public Geldumrechnung(float f1, boolean b, float f2){
		fBetrag = f1;
		bRichtung = b;
		fWechselkurs = f2;
	}
	
	public float berechnung(){
		fUmgerechneterBetrag = fBetrag * fWechselkurs;
		System.out.println(fUmgerechneterBetrag);
		
		if(bRichtung=false)
			return fUmgerechneterBetrag;
		else{
			fUmgerechneterBetrag = 1/fUmgerechneterBetrag;
			return fUmgerechneterBetrag;
		}
	}
}

Umrechner.java
Java:
import java.util.Scanner;

public class Umrechner {

	public static void main(String[] args) {
		
		//Zahleneingabe
				float f = 0;
				for(;;){
					System.out.println("Bitte umzurechnenden Betrag eingeben:");
					String str = "";
					Scanner inp = new Scanner(System.in);
					str = inp.nextLine();
					
					try{
						f = Float.parseFloat(str);
						break;
					}
					catch(NumberFormatException e){
						System.out.println("Eingabe muss eine Zahl sein!");
					}
				}
		
		Geldumrechnung Umrechnung = new Geldumrechnung(f, true); //WIRD ZWEI MAL AUFGERUFEN
		
		System.out.println(Umrechnung.berechnung());
	}
}

Zudem wird die Bedingung "if(bRichtung=true)" in Geldumrechnung.java einfach falsch herum interpretiert ... false ist true und umgekehrt o_O

Wäre cool, wenn ihr mir da helfen könntet ;)


Danke euch!
 

HimBromBeere

Top Contributor
Zudem wird die Bedingung "if(bRichtung=true)" in Geldumrechnung.java einfach falsch herum interpretiert
Weil das, was du da machst, eine Zuweisung ist. Da fehlt ein zweitens Gleichheitszeichen.
Java:
if(bRichtung == true) {...} // oder einfach: if (bRichtung) {...}
 
R

reNur

Gast
Im Konstruktor ruft du die Methode das erste mal auf - das zweite mal dann im System.out.

Vergleichoperator in java ist '=='. Ein einfaches '=' ist eine Zuweisung.
if(A=B) ist also immer true, weil die Zuweisung ja immer true zurückliefert.
Für Vergleiche auf boolean bietet sich der '!' Operator an, also:
if( bRichtung ) für einen check auf true, und if( ! bRichtung ) für eine Prüfung auf false.
 

steman

Mitglied
Wahnsinn, das ging flott.

Ich danke euch :) Und lache gleichzeitig über die Blödheit der Fehler .. bin echt schon zu lange raus aus der ganzen Programmiersache ^^
 

Crian

Top Contributor
Weil das, was du da machst, eine Zuweisung ist. Da fehlt ein zweitens Gleichheitszeichen.

Booleans sollte man aber eh nicht mit
Code:
true
oder
Code:
false
vegleichen. Die sind von sich aus
Code:
true
oder
Code:
false
. Also einfach
Code:
if (bedingung)
statt
Code:
if (bedingung == true)
.

Genau wie HimBromBeere im Kommentar anregte.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Java Methode wird unerwünscht doppelt aufgerufen?! Java Basics - Anfänger-Themen 4
Ostkreuz Wieso wird die Methode nochmal aufgerufen? Java Basics - Anfänger-Themen 5
D Interface Methode wird ungewollt in der Subklasse überschrieben Java Basics - Anfänger-Themen 5
U Methode wird genutzt, ohne dass ich die aufrufe? Java Basics - Anfänger-Themen 4
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
fuerteb Compiler-Fehler Methode wird nicht bzw. als Fehler erkannt Java Basics - Anfänger-Themen 4
X compareTo Methode wird ignoriert Java Basics - Anfänger-Themen 7
N Selection Algorithmus: Methode wird nicht erkannt (BlueJ) Java Basics - Anfänger-Themen 3
L Falsche Methode wird geladen Java Basics - Anfänger-Themen 2
N Methoden warum wird diese Methode aufgerufen Java Basics - Anfänger-Themen 9
T Methoden Methode wird nicht auf Konsole ausgeführt Java Basics - Anfänger-Themen 3
Bluebird209 Array wird nicht an Methode übergeben Java Basics - Anfänger-Themen 7
E Methoden 2D Array wird in der Methode nicht geändert/gespeichert Java Basics - Anfänger-Themen 5
K Methoden Methode starten wenn JFrame geöffnet wird Java Basics - Anfänger-Themen 2
N Methoden Wohin mit einer Methode die in unterschiedlichen Klassen verwendet wird? Java Basics - Anfänger-Themen 5
Silvascus Array, der mit dem Namen, der per Methode übergeben wird, erstellt wird Java Basics - Anfänger-Themen 5
J Warum wird Array durch Methode ohne Rückgabewert verändert? Java Basics - Anfänger-Themen 5
Z Methoden Zugriff mit Klasse 3 auf Methode von Klasse 2 welche in Klasse 1 erzeugt wird Java Basics - Anfänger-Themen 6
D Methoden Methode wird nicht aufgerufen Java Basics - Anfänger-Themen 4
G Methoden Verstehe nicht was in der Methode gemacht wird? Java Basics - Anfänger-Themen 5
M Möglich? Methode aufrufen deren Bezeichner zur Laufzeit durch einen überg. String festgelegt wird Java Basics - Anfänger-Themen 3
S Methode pausieren bis Button gedrückt wird Java Basics - Anfänger-Themen 5
F String wird richtig in konsole geschrieben aber falsch an Methode übergeben Java Basics - Anfänger-Themen 8
T Vererbung Wann wird die Methode paint aufgerufen? Java Basics - Anfänger-Themen 4
S Methoden Return Anweisung beendet Methode nicht, stattdessen wird diese zweimal durchlaufen Java Basics - Anfänger-Themen 3
G Methoden BlueJ SuM Methode wird nicht gefunden Java Basics - Anfänger-Themen 9
W Methoden Wie wird eine Methode hier aufgerufen? Java Basics - Anfänger-Themen 5
E Warum wird Methode nicht durch return-Befehl beendet? Java Basics - Anfänger-Themen 3
B Methode warten lassen bis Button gedrückt wird Java Basics - Anfänger-Themen 16
R Nach return() der aufgerufenen Methode wird aufrufende Methode nicht weiter ausgeführt Java Basics - Anfänger-Themen 14
L Vererbung - Methode wird nicht erkannt Java Basics - Anfänger-Themen 5
O Drucker: print methode wird 2 mal aufgerufen nachfrage Java Basics - Anfänger-Themen 4
K methode wird nur einmal korrekt durchlaufen Java Basics - Anfänger-Themen 4
A Events werfen/feuern wenn bestimtm methode ausgeführt wird Java Basics - Anfänger-Themen 3
A log4j - Warum wird Methode getHeader 2x ausgeführt? Java Basics - Anfänger-Themen 2
W Bindung bzw warum wird diese Methode aufgerufen? Java Basics - Anfänger-Themen 5
I Methode wird nicht gefunden Java Basics - Anfänger-Themen 8
G Methode wird übersprungen? Java Basics - Anfänger-Themen 9
G Applet - Methode start() wird nicht aufgerufen Java Basics - Anfänger-Themen 2
W Die Methode print() wird 2 mal für jede Seite aufgerufen Java Basics - Anfänger-Themen 9
D finalize()-Methode wird nicht aufgerufen Java Basics - Anfänger-Themen 3
F Zweite Graphics-Methode wird nicht ausgeführt Java Basics - Anfänger-Themen 4
J Spielfigur wird trotz erfolgreich aufgerufener Methode nicht Java Basics - Anfänger-Themen 22
M Warum wird diese Methode ausgeführt? Java Basics - Anfänger-Themen 2
B Überprüfung ob Methode von geerbter Klasse aufgerufen wird Java Basics - Anfänger-Themen 2
P Methode zum Überprüfen ob Datei verwendet wird? Java Basics - Anfänger-Themen 3
D Methode wird nicht gefunden Java Basics - Anfänger-Themen 14
G private methode wird aus anderer klasse aufgerufen? Java Basics - Anfänger-Themen 3
D main-Methode wird nicht gefunden Java Basics - Anfänger-Themen 2
T Rekursive Methode Java Basics - Anfänger-Themen 13
Ü Methode soll Quadrat aus der Summer zurückgeben Java Basics - Anfänger-Themen 10
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
Leyla Spezifischte Methode Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
C Zugriff auf Methode Java Basics - Anfänger-Themen 2
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
M Methode sperren bis ein Kriterium erfüllt wurde Java Basics - Anfänger-Themen 3
D Switch Case Methode aufrufen Java Basics - Anfänger-Themen 3
C Unbekannte Methode add bei Klasse die JTree erweitert Java Basics - Anfänger-Themen 14
M methode aufrufen ohne parameter Java Basics - Anfänger-Themen 1
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
Say super.methode / super.variable und super(variable) Java Basics - Anfänger-Themen 2
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
L Methoden Eine Methode um zu testen ob es ein Nachbar gibt Java Basics - Anfänger-Themen 10
til237 Iterative Methode in rekursive Methode umschreiben Java Basics - Anfänger-Themen 4
M Daten aus errechneter Methode in Datenbank(SQLite) schreiben Java Basics - Anfänger-Themen 60
D next() Methode mehrfach verwenden Java Basics - Anfänger-Themen 1
Ostkreuz Methoden Von Dezimal zu Hexadezimal Methode toHex Java Basics - Anfänger-Themen 2
I Entity Objekt nicht gefunden -> Webhook empfangen in der gleichen Methode (Transaktion) Java Basics - Anfänger-Themen 37
N Throw an Main Methode übergeben Java Basics - Anfänger-Themen 7
M Methoden Methode 'wiederhole' nicht gefunden (Uebersetzungsfehler) Java Basics - Anfänger-Themen 1
H Zu langen String aufteilen - bequeme Methode? Java Basics - Anfänger-Themen 14
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
S Array mit Methode löschen Java Basics - Anfänger-Themen 2
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
M Anzahl Kommandozeilenparamter mittels Methode Java Basics - Anfänger-Themen 11
D Methode: Array Reihenfolge tauschen Java Basics - Anfänger-Themen 3
julian0507 Array aus Methode in anderer Methode sichtbar machen Java Basics - Anfänger-Themen 10
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
J Die statische Main-Methode ändert Instanzvariable? Java Basics - Anfänger-Themen 10
D Methode aus dem Aufrufer aufrufen Java Basics - Anfänger-Themen 1
T IOStreams read(byte[]b) methode Java Basics - Anfänger-Themen 2
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
U Beispiel Methode size() vom "Collection"-interface... Wie kann man sichtbar machen, was die Methode unter der Haube macht? Java Basics - Anfänger-Themen 8
D Warum kann ich hier nicht auf die Methode zugreifen? Java Basics - Anfänger-Themen 5
M generate Methode für Streams Java Basics - Anfänger-Themen 6
M Methoden Zweidimensionaler Array mit Setter Methode ändern Java Basics - Anfänger-Themen 4
I Optionaler Parameter bei Methode, der nur optional ist? Java Basics - Anfänger-Themen 6
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
T Linked List set-Methode Java Basics - Anfänger-Themen 2
D Arrays an replaceAll-Methode übergeben Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben