Fragen zu Methoden (void/return), Übergabe von Parametern

Mr.Pink!

Mitglied
Hallo verehrte Java-Gemeinde,

ich hätte ein paar Fragen:

1. wie funktioniert die Rückgabe einer Methode, die NICHT void ist, wenn ich einen Wert/eine Variable mit return zurückgebe (wie binde ich diesen Wert/diese Variable in der Methode, der nun etwas übergeben wird, ein?)?

2. warum kann ich mit einer void-Methode trotzdem Werte übergeben?

3. Ich würde gerne in folgendem Programm, die Variablen "Materialkosten" und "Lohn" aus ihren jeweiligen Methoden in einer main-Methode ausgeben lassen, wie kann ich dies ermöglichen?

Java:
import java.util.Scanner;

public class Nr6 {
	public static int Lohnabrechnung () {
		Scanner eingabe = new Scanner (System.in);
		
		System.out.println ("Guten Tag, Herr Tupid." + "\n" + "\n" + "Bitte geben Sie die Anzahl ihrer Arbeitsstunden ein.");
		int Stundenzahl = eingabe.nextInt();
		int Lohn;
		
		if (Stundenzahl <= 40) {
		Lohn = Stundenzahl * 50;
		} else { 
		Lohn = 40 * 50 + ((Stundenzahl - 40) * 100);
		}
		
		return Lohn;
		
		System.out.println ("Ihr Wochenlohn beträgt: " + Lohn + " €.");
	}
	
	public static int Materialabrechnung () {
		Scanner eingabe = new Scanner (System.in);
		
		System.out.println ("Herr Tupid, " + "\n" + "bitte geben Sie die Anzahl der verlegten Kabel an (Meter).");
		int Kabelmeter = eingabe.nextInt();
		int Materialkosten = ((Kabelmeter / 500) * 1000) + ((Kabelmeter % 500) * 3);
		
		return Materialkosten;
		
		System.out.println ("Ihre Materialkosten betragen: " + Materialkosten + " €. ");
	}
	
}

Über eure Antworten freut sich ein gespanntes Java-Bit;-)
 
1. wie funktioniert die Rückgabe einer Methode, die NICHT void ist, wenn ich einen Wert/eine Variable mit return zurückgebe (wie binde ich diesen Wert/diese Variable in der Methode, der nun etwas übergeben wird, ein?)?
Verstehe ich nicht so ganz... du gibst etwas zurück und dieses etwas wird eben zurückgegeben. :bahnhof: In Zeile 8 verwendest du ja bereits die Rückgabe einer Methode (nextInt)
2. warum kann ich mit einer void-Methode trotzdem Werte übergeben?
Weil Rückgabetyp und Parameter nichts gemeinsam haben.
3. Ich würde gerne in folgendem Programm, die Variablen "Materialkosten" und "Lohn" aus ihren jeweiligen Methoden in einer main-Methode ausgeben lassen, wie kann ich dies ermöglichen?
So wie du es in Zeile 8 machst, nur dass du eben die richtige Methode aufrufst und an der richtigen Stelle.

Nach dem return darf übrigens kein Code stehen. Es ist ja auch ziemlich nutzlos, da die return-Anweisung die Ausführung der Methode beendet.
 
Java:
	public static void main(String[] args) {
		int x = 4;
		int y = 9;
		int erg = berechne(x, y);
		
		System.out.println("Ergebnis: " + erg);
	}
	
	public static int berechne(int a, int b){
		int erg = a + b;
		return erg;
	}
 
Java:
        return Lohn; //hier ist die Methode vorbei, return beendet die methode
        //das wird nie ausgeführt und wird nicht compilieren...
        System.out.println ("Ihr Wochenlohn beträgt: " + Lohn + " €.");
    }
 

Neue Themen


Zurück
Oben