Wie kann ich eine Methode mit Parameter und mit Rückgabewert erstellen?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wirf Zeile 10 raus und übergib eingabe stattdessen an deine returnanswer-Funktion, immerhin soll die doch mit dem Wert arbeiten. Sie benötigt zuvor aber noch eine Parameterdefinition im Funktionskopf.

/* ... */ returnanswer(int eingabe) {
  /* ... */
}

Du hast da ziemlichen unsinn zusammengeschrieben. Du scheinst garnicht zu wissen wie Methoden funktionieren.

Du willst da irgendeine Methode rechnen(int) ausführen die aber garnicht existiert, das ergibt vorne und hinten keinen Sinn.

https://www.w3schools.com/java/java_methods.asp

https://www.w3schools.com/java/java_methods_param.asp

Würde es korrigieren, aber keine lust alles von einem Bild abzuschreiben.


michal12129 
Fragesteller
 01.12.2021, 18:10

Danke für die Antwort, ich habe den Code nochmal ein bisschen klarer geschrieben. Zur Information ich möchte es in Methoden gestalten, da ich diese lernen möchte.

import java.util.Scanner;

public class App {

    public static void main(String[] args) throws Exception {

        Scanner scan = new Scanner(System.in);

        int eingabe = 0;

        System.out.println("Bitte geben Sie eine Nummer von 1 bis 3 ein:");

        eingabe = scan.nextInt();

        System.out.println(returnanswer(eingabe));

    }

        public static String returnanswer(int eingabe){

            if (eingabe == 1){

                return("Die Zahl 1");

            }  

            else if (eingabe == 2){

                return("Die Zahl 2");

            }

            else if (eingabe == 3){

                return("Die Zahl 3");

            } 

            

        }

    }

0
jort93  01.12.2021, 18:26
@michal12129

Die variante sieht nun aber richtig aus, was gibt der denn für einen fehler aus?

0
jort93  01.12.2021, 18:30
@jort93

Wobei, ich sehe schon.

Die methode hat keinen rückgabewert wenn man z.B. 4 eingibt.

Bedeutet es müsste z.B.

        public static String returnanswer(int eingabe){
            if (eingabe == 1){
                return("Die Zahl 1");
            }  
            else if (eingabe == 2){
                return("Die Zahl 2");
            }
            else if (eingabe == 3){
                return("Die Zahl 3");
            } else {
                return("Andere Zahl");
            }
        }

heißen.

0
michal12129 
Fragesteller
 01.12.2021, 18:40
@jort93

Jetzt hats funktioniert. Vielen Dank für die Hilfe!

0

Ich würde es so Lösen.

package main;


import java.util.Scanner;

public class GuteFrage {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int eingabe = 0;

        System.out.println("Nummer von 1 bis 3");


        switch (scanner.next()) {
            case "1":
                System.out.println("Yeah");

                break;
            case "2":
                System.out.println("Yeah");

                break;
            case "3":
                System.out.println("Yeah");

                break;
            default: System.out.println("Falsch");

        }


    }


}