Frage zu einer Methode

AlexD

Aktives Mitglied
Hallo zusammen, ich bin neu bei Java.

Hab gerade mit einem Lehrgang an der ILS begonnen, wobei ich mir das glaub ich hätte sparen können.

Ich habe folgendes gelernt.

Eine Methode kann immer nur einen Wert zurück liefern.


Jetzt musste ich für eine Aufgabe einen Taschenrechner Programmieren mit den 4 Grundrechenarten.

Das hat auch soweit geklappt

ich hab 4 verschiedene Methoden für jeweils eine Grundrechenart erstellt.

Die Zahlen lasse ich durch einen Eingabe Box einlesen genau wie den Operator.

Mit einer If - else schleife kontroliere ich dann um welchen Rechenprozess es sich handelt und lasse das Ergebniss dann ausgeben.

Jetzt soll ich für eine andere Aufgabe am Ende noch alle Ergebnisse über eine Methode ausgeben lassen.

Genau hier komme ich nicht weiter.

Ich hab paar sachen versucht wie z.B.


static float all (float zahl1,float zahl2){

System.out.println("Das Ergebnis für Multiplikation lautet" + (zahl1*zahl2));
System.out.println("Das Ergebnis für Dividieren lautet" + (zahl1/zahl2));
..
..
}

Irgendwie hab ich aber das gefühl hier Äpfel mit Birnen zu mischen.

vorher hatte ich mal versucht alle werte über die Methode mit Return wieder zu geben. Aber da ich ja nur einen Wert wiedergeben kann gibts nen Fehler.


Kann mir bitte wer nen Tip geben, Die ganze Lösung möchte ich nicht.

Vielen DAnk schonmal im Vorraus


Alex
 
G

Gast2

Gast
Entweder du gibst einen Array [c]float[][/c] zurück (eine Liste o.Ä. ginge auch) oder aber du definierst eine neue Klasse Ergebnisse die als Memberattribute die Ergebnisse hält und gibst sie zurück
 

AlexD

Aktives Mitglied
Hallo, vielen Dank für die Antwort.

Arrays hatte ich leider noch nicht und eigene Klassen kann ich auch noch nicht erstellen.

Das kommt erst in ein paar Lektionen.

kann ich da nix über Methoden erreichen? In der Aufgabenstellung steht ich soll die Ergebnisse über eine Methode wiedergeben. Also besser gesagt alle 4 Ergebnisse

Gruß Alex
 

Atze

Top Contributor
vielleicht sollst du für jede rechenart eine methode schreiben!? oder du fragst die rechnung ab (if/else oder switch/case) und gibst das ergebnis zurück. es wird ja wohl immer eine zahl sein. :)

*edit:*
bin mit dem ersten kommentar wohl am problem vorbei?
kannst du in der letzten methode nicht alle anderen nacheinander aufrufen? dann werden sie ja ausgegeben. oder sollst du sie als rückgabewert erhalten?
 

Marco13

Top Contributor
Ist da vielleicht einfach sowas gemeint wie
Code:
static void all (float zahl1,float zahl2)
{
    System.out.println("Das Ergebnis für Multiplikation lautet" + [b]multiply(zahl1, zahl2)[/b]);
    System.out.println("Das Ergebnis für Dividieren lautet" + [b]divide(zahl1, zahl2)[/b]);
    ....
}

???:L
 
G

Gast2

Gast
kann ich da nix über Methoden erreichen? In der Aufgabenstellung steht ich soll die Ergebnisse über eine Methode wiedergeben. Also besser gesagt alle 4 Ergebnisse

Nein, EINE Methode hat immer EINEN Rückgabewert. (Oder keinen bei [c]void[/c]). Also bleibt nur die Aufgabenstellung so zu deuten wie es Marco13 gemacht hat und in einer Methode alle anderen nacheinander aufrufen und das Ergebniss "wiedergeben". "Wiedergeben" heißt in dem Fall aber nicht "zurückgeben" sondern auf z.B. die Konsole printen.

Was sagt denn die Aufgabenstellung genau?
 

AlexD

Aktives Mitglied
Das was Marco gemacht hat, hab ich auch versucht.

Ich habe die Methode dann nach der vorherigen if - else Schleife wie folgt aufgerufen.

System.out.println("das ergebnis aller Rechenoperationen lautet" + all (zahl1,zahl2);


Das Problem was ich dabei hatte, Es wird nur das Ergebnis mit den 4 Ergebnissen ausgegeben aber nicht das Einzelne.

Gruß Alex
 

AlexD

Aktives Mitglied
Am besten poste ich heute abend Zuhause mal meinen Quellcode.

Für mich ist es als anfänger schwer zu erklären. ;(
 

Atze

Top Contributor
man müsste halt nur die genaue aufgabenstellung haben, um da weiterzuhelfen, bzw man müsste wissen, ob die werte als ausgabe oder rückgabewert rauskommen sollen

aber ohne arrays, listen, maps oder eigene objekte kann es eigentlich nur ne ausgabe sein, imho
 

AlexD

Aktives Mitglied
Die genau Aufgabenstellung lautet.


Erweitern Sie den Taschenrechner aus der Aufgabe 4 so, dass neben derAusgabe der einzelnen rechenoperationen am Ende zusätzlich die Ergebnisse aller Rechenoperationen gleichzeitig auf dem Bildschirm ausgegeben werden können. Erstellen Sie diese zusätzliche Funktionalität als Methode.




Die 4te Aufgabe lautet

Programmieren Sie einen einfachen Taschenrechner. ER soll zwei Werte von der Tastatur einlesen und das Ergebnis einer Rechenoperation auf dem Bildschirm ausgeben. Als Rechenoperationen sollen Addition, Subtraktion, Division und Multiplikation möglich sein. Fragen Sie die Gewünschte Rechenoperation ebenfalls über eine Tastatureingabe ab und führen Sie die Berechnung in eigenen Methoden durch


Den Taschenrechner mit den Methoden habe ich Ordnungsgemäß hinbekommen.

Bei der folge Aufgabe komme ich schon seit Tagen nicht weiter.
Ich verstehe einfach nicht wie ich das aus ner Methode machen soll, weil ja eine Methode nur einen Wert zurück liefert.
 

Michael...

Top Contributor
Ich verstehe einfach nicht wie ich das aus ner Methode machen soll, weil ja eine Methode nur einen Wert zurück liefert.
In der Aufgabenstellung steht ja nichts davon, dass die Methode irgendeinen Wert zurückliefern soll, sie soll ja nur etwas auf dem Bildschirm ausgeben... muss also nur die vier anderen Methoden aufrufen und evtl. deren Rückgabewerte ausgeben (je nach dem wie die Methoden aufgebaut sind)
 

AlexD

Aktives Mitglied
So dank eurer Hilfe denke ich hab ich es jetzt. :toll:

Vielleicht kann man das ganze noch verbessern, evtl kann ja mal jemand ein Blick drauf werfen.

Java:
import javax.swing.*;
public class Java03_34 {

static float multi(float zahl1,float zahl2){
	
	float ergebnis;
	ergebnis =zahl1*zahl2;
	return ergebnis;
}		// hier die Methode für die multiplikation
static float div (float zahl1,float zahl2){
	
	float ergebnis;
	ergebnis =zahl1/zahl2;
	return ergebnis;
}		// hier die Methode für die Division
static float addi(float zahl1,float zahl2){
	
	float ergebnis;
	ergebnis =zahl1+zahl2;
	return ergebnis;
}		// hier die Methode für die Addition
static float subtra(float zahl1,float zahl2){
	
	float ergebnis;
	ergebnis =zahl1-zahl2;
	return ergebnis;
}		// hier die Methode für die Subtraktion


static void all (float zahl1,float zahl2){
	
	System.out.println("Ergebnis mulitplikation"  + multi (zahl1,zahl2));
	System.out.println("Ergebnis addition " + addi (zahl1,zahl2));
	System.out.println("Ergebnis subtraktion " + subtra (zahl1,zahl2));
	System.out.println("Ergebnis division " + div (zahl1,zahl2));
	
}
	/**###
	 * @param args
	 */
	public static void main(String[] args) {
		// Dieses kleine Programm stellt einen Taschen rechner da
		// 2 zahlen können eingelesen werden und ein Operator
		// Das Ergebnis erscheint in der Konsole
		float  zahl1, zahl2;
		float ergeb;
		
		
		zahl1=Float.parseFloat(JOptionPane.showInputDialog("geben Sie eine Zahl ein"));
		zahl2=Float.parseFloat(JOptionPane.showInputDialog("geben Sie eine Zahl ein"));
		
		String Operator = JOptionPane.showInputDialog("Und jetzt gib den Operator ein");
	
		if (Operator.equals ("*")){
			ergeb= multi(zahl1,zahl2);
			System.out.println("Das Ergebnis lautet " + multi(zahl1,zahl2));}
					if (Operator.equals ("*")){
						all(zahl1,zahl2);	}
							else  if (Operator.equals ("/")){
								ergeb= div(zahl1,zahl2);
									System.out.println("Das Ergebnis lautet " + div(zahl1,zahl2));}
										if (Operator.equals ("/")){
											all(zahl1,zahl2);}
												else if (Operator.equals ("+")){
													ergeb= addi(zahl1,zahl2);
														System.out.println("Das Ergebnis lautet " + addi(zahl1,zahl2));}
															if (Operator.equals ("+")){
																all(zahl1,zahl2);}
																	else if (Operator.equals ("-")){
																		ergeb= subtra(zahl1,zahl2);
																			System.out.println("Das Ergebnis lautet " + subtra(zahl1,zahl2));}
																				if (Operator.equals ("-")){
																					all(zahl1,zahl2);}
	System.exit(0);
	}

}
 

andiv

Bekanntes Mitglied
Wie wärs mit einer anständigen Einrückung?

Java:
if (Operator.equals ("*")) {
	ergeb= multi(zahl1,zahl2);
	System.out.println("Das Ergebnis lautet " + multi(zahl1,zahl2));
}

if (Operator.equals ("*")) {
	all(zahl1,zahl2);	
} else  if (Operator.equals ("/")) {
	ergeb= div(zahl1,zahl2);
	System.out.println("Das Ergebnis lautet " + div(zahl1,zahl2));
}

if (Operator.equals ("/")) {
	all(zahl1,zahl2);
} else if (Operator.equals ("+")) {
	ergeb= addi(zahl1,zahl2);
	System.out.println("Das Ergebnis lautet " + addi(zahl1,zahl2));
}

if (Operator.equals ("+")) {
	all(zahl1,zahl2);
} else if (Operator.equals ("-")){
	ergeb= subtra(zahl1,zahl2);
	System.out.println("Das Ergebnis lautet " + subtra(zahl1,zahl2));
}

if (Operator.equals ("-")) {
	all(zahl1,zahl2);}
	System.exit(0);
}
 

Atze

Top Contributor
ansonsten ist der code beim drüberfliegen eigentlich ok, nur ein paar kleinigkeiten würd ich ändern, aber nix wildes

variablen gründsätzlich klein anfangen (zeile 52, operator statt Operator) und angewöhnen würd ich mir auch die englische sprache (sowohl für code als auch für kommentare), vielleicht result statt ergeb. wenn du code nur für dich allein schreibst, ist es vielleicht egal, aber wenn du in nem team arbeitest, vielleicht auch mit internationalen mitarbeitern, ist englisch meist vorschrift.

in deinen berechnungsmethoden ändere vielleicht

Java:
    return zahl1/zahl2;

statt

Java:
    float ergebnis;
    ergebnis =zahl1/zahl2;
    return ergebnis;

schont den stack ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
H Frage zu Parameter einer Methode Java Basics - Anfänger-Themen 2
H Frage zu Parameter einer Methode Java Basics - Anfänger-Themen 3
A Frage zu einer Methode - Panel arbeitet nicht ordnungsgemäß Java Basics - Anfänger-Themen 2
J Frage zu einer Methode Java Basics - Anfänger-Themen 2
D Frage zum Aufruf einer toString-Methode Java Basics - Anfänger-Themen 2
S Verständnis-Frage zu einer HÜ? Java Basics - Anfänger-Themen 1
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
X Frage zur einer ArrayList in einer ArrayList Java Basics - Anfänger-Themen 5
S Frage zu einer Rekursion Java Basics - Anfänger-Themen 15
H Frage zu einer Aussage Java Basics - Anfänger-Themen 2
H Frage bezüglich einer Klasse Java Basics - Anfänger-Themen 2
I Verständnis Frage wegen einer Aufgabe Java Basics - Anfänger-Themen 10
L Frage zum Doppelpunkt in einer for Schleife Java Basics - Anfänger-Themen 4
G Frage zu einer For- Schleife Java Basics - Anfänger-Themen 3
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
F Frage zu einer Aufgabe Java Basics - Anfänger-Themen 6
M Variablen Frage zu einer Hausübung. Java Basics - Anfänger-Themen 6
A Frage zu einer Klasse aus der Klassenbibliothek Java Basics - Anfänger-Themen 8
N Nächste Frage aufrufen in einer Schleife Java Basics - Anfänger-Themen 8
K Frage zu einer Connection in Java Java Basics - Anfänger-Themen 3
S Frage zu einer rekursiven Funktion Java Basics - Anfänger-Themen 28
Luk10 Dateipfad beim Laden einer Datei + Neue kleine Frage! Java Basics - Anfänger-Themen 11
P Datentypen Frage zu einer Übungsaufgabe Java Basics - Anfänger-Themen 15
D Frage zu einer ArrayList() Java Basics - Anfänger-Themen 9
M Frage zum Aufruf eines Applets aus einer HTML - Datei Java Basics - Anfänger-Themen 3
S Frage zum speichern der Daten in einer LinkedList Java Basics - Anfänger-Themen 2
D Frage zur Verwendung einer Schnittstelle Java Basics - Anfänger-Themen 4
U Frage zur Überprüfung von einer Zahl Java Basics - Anfänger-Themen 9
E Frage zum RandomAcces und erstellen einer txt Java Basics - Anfänger-Themen 6
G Frage bezüglich einer Variablenänderung Java Basics - Anfänger-Themen 5
N Frage zum Auslesen einer HTML-Zeile Java Basics - Anfänger-Themen 10
M Frage zu einer abstrakten Klasse Java Basics - Anfänger-Themen 16
G Frage zu einer Exception Java Basics - Anfänger-Themen 2
D Frage zu einer Ausbildung / Zertifizierung Java Basics - Anfänger-Themen 12
G Frage zur Verarbeitung einer JSP Java Basics - Anfänger-Themen 4
G Frage zu einer Übung Java Basics - Anfänger-Themen 11
G Frage zum Überschreiben einer Klasse Java Basics - Anfänger-Themen 6
F Frage zu Inztanziierung einer Klasse Java Basics - Anfänger-Themen 3
Zrebna Frage zu Test-Driven Development (TDD) Java Basics - Anfänger-Themen 3
I Frage Thymeleaf -> Fehler ignorieren und mit "" ersetzen? Java Basics - Anfänger-Themen 15
I Frage Thymeleaf -> Prefix / Suffix ändern? Java Basics - Anfänger-Themen 11
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
T Frage zu Parse Java Basics - Anfänger-Themen 2
H Frage an die Profis Java Basics - Anfänger-Themen 4
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
P Frage zu Rekursion und Backtracking Java Basics - Anfänger-Themen 2
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20
F Kurze Frage zu replace() Java Basics - Anfänger-Themen 19
JavaSchmecktLecker Polymorphie Frage zur Methodenüberschreibung Java Basics - Anfänger-Themen 21
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
B Erste Schritte Frage zu Instanzierung und Referenzen Java Basics - Anfänger-Themen 8
DoubleM Runtime.getRuntime().exec Frage Java Basics - Anfänger-Themen 2
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
O Frage: Formaler Typbezeichner? Java Basics - Anfänger-Themen 3
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
N Spezielle frage zum Comparator Java Basics - Anfänger-Themen 6
L Frage zum Array Java Basics - Anfänger-Themen 1
A Frage zum UML Design Java Basics - Anfänger-Themen 1
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
izoards Drucken Frage zu FAQ Beitrag Java Basics - Anfänger-Themen 2
J Frage zu meinem Code (OOP) Java Basics - Anfänger-Themen 4
sserio Split() -> Regex Frage. Java Basics - Anfänger-Themen 7
A OCA Study Guide: 2. Frage aus Kapitel 3 Java Basics - Anfänger-Themen 9
sserio Date Library Frage Java Basics - Anfänger-Themen 9
Max246Sch Frage zu Währungsrechner Code Java Basics - Anfänger-Themen 2
sserio Frage zu HashMaps Java Basics - Anfänger-Themen 20
sserio Frage zu Threading - Multithreading Java Basics - Anfänger-Themen 2
sserio Frage zu Lambda Ausdrücken Java Basics - Anfänger-Themen 7
sserio Frage zu BigInteger Java Basics - Anfänger-Themen 1
D Frage bzgl. Enum-Handhabung Java Basics - Anfänger-Themen 16
xxx12 Frage Java Basics - Anfänger-Themen 2
I Generelle Frage zu Mikroservices (Spring Boot?), Docker... Java Basics - Anfänger-Themen 7
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
A Frage zur programmierung Java Basics - Anfänger-Themen 12
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32
R Input/Output Frage zu Java IO Java Basics - Anfänger-Themen 6
M Frage zu printWriter Java Basics - Anfänger-Themen 5
C Frage zu OLSMultipleLinearRegression Java Basics - Anfänger-Themen 31
KogoroMori21 Frage zum Euklidischen Algorithmus Java Basics - Anfänger-Themen 11
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
L Frage zur Ticket Maschine Java Basics - Anfänger-Themen 1
J Frage zu OOP-Klassendiagramm Java Basics - Anfänger-Themen 8
OSchriever Frage zu Compiler Java Basics - Anfänger-Themen 8
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
Bademeister007 Hallo Leute ich hab eine Frage zur ArrayList Java Basics - Anfänger-Themen 8
F Frage betreff Programmierbücher zu Lagerverwaltung als Konsolenprogramm Java Basics - Anfänger-Themen 3
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
I String.split regex Frage Java Basics - Anfänger-Themen 2
N Best Practice Frage zum MVC-Pattern Java Basics - Anfänger-Themen 2
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
J Frage zum Loggen Java Basics - Anfänger-Themen 18
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
N Input/Output Eine Frage über system.out.println. Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben