Verschachtelte Methoden

Hallo!

ich habe folgende Aufgabe bekommen und weiß nicht wie ich anfangen soll;
Vielen Dank schonmal.

Java:
import java.util.Scanner; // Import der notwendigen Scanner-Klasse für Eingaben

/**
* Klasse MethodenTest.
*
* Diese Klasse berechnet das Ergebnis zweier Eingabewerte über drei verschachtelte Methoden
* 
* @author Ihr Name
* @version 0.0
*/
public class MethodenTest {

    /**
    * main-Methode
    * Sie liest zwei Eingabewerte von der Konsole und gibt das Ergebnis auf der Konsole aus
    * Diese Klasse berechnet das Ergebnis zweier Eingabewerte über drei verschachtelte Methoden
    * 
    * @param args String-Array für mögliche Startparameter
    */
    public static void main(String[] args) {
        
        // Inhalt der Main-Methode nicht ändern!!!
        
        // Eingabe von zwei Werten:
        Scanner scanner = new Scanner(System.in);
        System.out.print("Bitte erste Zahl eingeben: 2");
        int eingabe1 = scanner.nextInt();
        System.out.print("Bitte zweite Zahl eingeben: 3");
        int eingabe2 = scanner.nextInt();
        
        // Aufruf zur Berechnung
        int ergebnis = methode1 (eingabe1,eingabe2);
        
        // Ausgabe des Ergebnis
        System.out.println(ergebnis);

    }
    
    /**
    * methode1
    * Diese Methode addiert den ersten Eingabeparameter mit sich selbst und reicht
    * das Ergebnis als ersten Aufrufparameter an methode2 weiter. Der zweite Eingabeparameter
    * wird als zweiter Aufrufparameter an methode2 durchgereicht.
    * Das Ergebnis der methode2 wird zurückgegeben.
    * 
    * @param wert1 Integer als erster Eingabeparameter
    * @param wert2 Integer als zweiter Eingabeparameter
    * @return Integer als Rückgabewert
    */
    
    // Hier die methode1 in Java schreiben ...
    public static int(int wert1, int wert2){
        
    }

    
    /**
    * methode2
    * Diese Methode multipliziert den zweiten Eingabeparameter mit sich selbst und reicht
    * das Ergebnis als zweiten Aufrufparameter an methode3 weiter. Der erster Eingabeparameter
    * wird als erster Aufrufparameter an methode3 durchgereicht.
    * Das Ergebnis der methode3 wird zurückgegeben.
    * 
    * @param wert1 Integer als erster Eingabeparameter
    * @param wert2 Integer als zweiter Eingabeparameter
    * @return Integer als Rückgabewert
    */

    // Hier die methode2 in Java schreiben ...
    public static int(int wert1, int wert2){
        
    }
    
    /**
    * methode3
    * Diese Methode addiert beider Eingabeparameter und gibt das Ergebnis zurück.
    * 
    * @param wert1 Integer als erster Eingabeparameter
    * @param wert2 Integer als zweiter Eingabeparameter
    * @return Integer als Rückgabewert
    */
    
    // Hier die methode3 in Java schreiben ...
    public static int(int wert1, int wert2){
        
    }
    
}
 
Du könntest erst einmal die Methodensignaturen korrigieren. In
Java:
public static int(int wert1, int wert2){
fehlt der Methodenname.

Wenn du dann noch einen (sinnlosen) Wert zurückgibst
Java:
return 0;
kannst du den Code sogar kompilieren.

Anschließend solltest du sinnvollen Code schreiben.
 
Hab den Code kompilieren können. Wie definiere ich nun wirkliche Zahlen als Werte?

Java:
import java.util.Scanner; // Import der notwendigen Scanner-Klasse für Eingaben

/**
* Klasse MethodenTest.
*
* Diese Klasse berechnet das Ergebnis zweier Eingabewerte über drei verschachtelte Methoden
* 
* @author Ihr Name
* @version 0.0
*/
public class MethodenTest {

    /**
    * main-Methode
    * Sie liest zwei Eingabewerte von der Konsole und gibt das Ergebnis auf der Konsole aus
    * Diese Klasse berechnet das Ergebnis zweier Eingabewerte über drei verschachtelte Methoden
    * 
    * @param args String-Array für mögliche Startparameter
    */
    public static void main(String[] args) {
        
        // Inhalt der Main-Methode nicht ändern!!!
        
        // Eingabe von zwei Werten:
        Scanner scanner = new Scanner(System.in);
        System.out.print("Bitte erste Zahl eingeben: 2");
        int eingabe1 = scanner.nextInt();
        System.out.print("Bitte zweite Zahl eingeben: 3");
        int eingabe2 = scanner.nextInt();
        
        // Aufruf zur Berechnung
        int ergebnis = methode1 (eingabe1,eingabe2);
        
        // Ausgabe des Ergebnis
        System.out.println(ergebnis);

    }
    
    /**
    * methode1
    * Diese Methode addiert den ersten Eingabeparameter mit sich selbst und reicht
    * das Ergebnis als ersten Aufrufparameter an methode2 weiter. Der zweite Eingabeparameter
    * wird als zweiter Aufrufparameter an methode2 durchgereicht.
    * Das Ergebnis der methode2 wird zurückgegeben.
    * 
    * @param wert1 Integer als erster Eingabeparameter
    * @param wert2 Integer als zweiter Eingabeparameter
    * @return Integer als Rückgabewert
    */
    
    // Hier die methode1 in Java schreiben ...
    public static int methode1(int wert1, int wert2){
        int methode1 = (wert1 + wert1);
        
        return methode1;
        
    }
        
    

    
    /**
    * methode2
    * Diese Methode multipliziert den zweiten Eingabeparameter mit sich selbst und reicht
    * das Ergebnis als zweiten Aufrufparameter an methode3 weiter. Der erster Eingabeparameter
    * wird als erster Aufrufparameter an methode3 durchgereicht.
    * Das Ergebnis der methode3 wird zurückgegeben.
    * 
    * @param wert1 Integer als erster Eingabeparameter
    * @param wert2 Integer als zweiter Eingabeparameter
    * @return Integer als Rückgabewert
    */

    // Hier die methode2 in Java schreiben ...
    public static int methode2(int wert1, int wert2){
        int methode2 = (wert2 + wert2);
        
        return methode2;
    }
    
    /**
    * methode3
    * Diese Methode addiert beider Eingabeparameter und gibt das Ergebnis zurück.
    * 
    * @param wert1 Integer als erster Eingabeparameter
    * @param wert2 Integer als zweiter Eingabeparameter
    * @return Integer als Rückgabewert
    */
    
    // Hier die methode3 in Java schreiben ...
        public static int methode3(int wert1, int wert2){
            int methode3 = (wert1 + wert2);
            
            return 0;
        }
    


}
 
Zuletzt bearbeitet:
methode3 tut schon fast, was die Methode tun soll - du musst nur das richtige Ergebnis zurückgeben.
In methode1 und methode1 musst du halt das programmieren, was gefordert ist.
Dabei kannst du beispielsweise schreiben:
Java:
int ergebnisAusMethode2 = methode2(ersteZahl, zweiteZahl);
 
Java:
int ergebnis = methode1(wert1 + wert1);
        
[icode]methode3[/icode] tut schon fast, was die Methode tun soll - du musst nur das richtige Ergebnis zurückgeben.
In [icode]methode1[/icode] und [icode]methode1[/icode] musst du halt das programmieren, was gefordert ist.
Dabei kannst du beispielsweise schreiben:
[code=java]
int ergebnisAusMethode2 = methode2(ersteZahl, zweiteZahl);
Ich verstehe nicht genau was du mit
Java:
int ergebnisAusMethode2 = methode2(ersteZahl, zweiteZahl);
meinst. Für die erste Methode dann
Java:
int ergebnisVonMethode1 = methode2(wert1 + wert1);
? Oder zuerst die Rechnung durchführen und dann zuweisen auf Methode 2
Java:
int ergebnis = methode2(wert1,wert2);
 
Nun lies dir mal die Aufgabenstellung durch.
Code:
    * methode1
    * Diese Methode addiert den ersten Eingabeparameter mit sich selbst und reicht
    * das Ergebnis als ersten Aufrufparameter an methode2 weiter. Der zweite Eingabeparameter
    * wird als zweiter Aufrufparameter an methode2 durchgereicht.
    * Das Ergebnis der methode2 wird zurückgegeben.
Was ist dann ersteZahl und zweiteZahl ?
 
Nun lies dir mal die Aufgabenstellung durch.
Code:
    * methode1
    * Diese Methode addiert den ersten Eingabeparameter mit sich selbst und reicht
    * das Ergebnis als ersten Aufrufparameter an methode2 weiter. Der zweite Eingabeparameter
    * wird als zweiter Aufrufparameter an methode2 durchgereicht.
    * Das Ergebnis der methode2 wird zurückgegeben.
Was ist dann ersteZahl und zweiteZahl ?
Habe die Aufgabe geschafft. Vielen Dank.
 
Java:
public class MethodenTest {

    /**
    * main-Methode
    * Sie liest zwei Eingabewerte von der Konsole und gibt das Ergebnis auf der Konsole aus
    * Diese Klasse berechnet das Ergebnis zweier Eingabewerte über drei verschachtelte Methoden
    * 
    * @param args String-Array für mögliche Startparameter
    */
    public static void main(String[] args) {
        
        // Inhalt der Main-Methode nicht ändern!!!
        
        // Eingabe von zwei Werten:
        Scanner scanner = new Scanner(System.in);
        System.out.print("Bitte erste Zahl eingeben: ");
        int eingabe1 = scanner.nextInt();
        System.out.print("Bitte zweite Zahl eingeben: ");
        int eingabe2 = scanner.nextInt();
        
        // Aufruf zur Berechnung
        int ergebnis = methode1 (eingabe1,eingabe2);
        
        // Ausgabe des Ergebnis
        System.out.println(ergebnis);

    }
    
    /**
    * methode1
    * Diese Methode addiert den ersten Eingabeparameter mit sich selbst und reicht
    * das Ergebnis als ersten Aufrufparameter an methode2 weiter. Der zweite Eingabeparameter
    * wird als zweiter Aufrufparameter an methode2 durchgereicht.
    * Das Ergebnis der methode2 wird zurückgegeben.
    * 
    * @param wert1 Integer als erster Eingabeparameter
    * @param wert2 Integer als zweiter Eingabeparameter
    * @return Integer als Rückgabewert
    */
    
    // Hier die methode1 in Java schreiben ...
    public static int methode1(int wert1, int wert2){
        
        int ergebnis1 = wert1 + wert1;
        return methode2 (ergebnis1,wert2);
    } 
    
        
    

    
    /**
    * methode2
    * Diese Methode multipliziert den zweiten Eingabeparameter mit sich selbst und reicht
    * das Ergebnis als zweiten Aufrufparameter an methode3 weiter. Der erster Eingabeparameter
    * wird als erster Aufrufparameter an methode3 durchgereicht.
    * Das Ergebnis der methode3 wird zurückgegeben.
    * 
    * @param wert1 Integer als erster Eingabeparameter
    * @param wert2 Integer als zweiter Eingabeparameter
    * @return Integer als Rückgabewert
    */

    // Hier die methode2 in Java schreiben ...
    public static int methode2(int wert3, int wert4){
        int ergebnis2 = wert4 * wert4;
    
        return methode3(wert3,ergebnis2);
    }
    
    /**
    * methode3
    * Diese Methode addiert beider Eingabeparameter und gibt das Ergebnis zurück.
    * 
    * @param wert1 Integer als erster Eingabeparameter
    * @param wert2 Integer als zweiter Eingabeparameter
    * @return Integer als Rückgabewert
    */
    
    // Hier die methode3 in Java schreiben ...
        public static int methode3(int wert5, int wert6){
            int ergebnis3 = wert5 + wert6;
        
            return ergebnis3;
        }
 

Zurück
Oben