Scanner Int Wert aus anderer Klasse holen?

Moin liebe Gemeinde,

ich möchte einen Wert in eine andere Klasse abfragen und diesen in der Main Klasse weiter verwenden.

Irgendwie komme ich da nicht weiter.... Ich möchte den Wert Jahr in der Main Klasse verwenden, bekomme aber nur Fehlermeldenungen...

Java:
lass Osterberechnung {

    public static void main(String[] args) {

        Testmethode intHolen = new Testmethode();
        intHolen.verbinden();

        int KlasseAInt = intHolen.b;

        System.out.println("Wert aus Klasse B : " + KlasseAInt);

    }

}



import java.util.Scanner;

class Testmethode {


    int  jahr; // variable als int für das gewählte Jahr

    Scanner eingabewert = new Scanner(System.in); // eingabe des gewünschten jahres

       System.out.println("********************");
       System.out.println("* Feiertagsrechner *");
       System.out.println("********************");
       System.out.println("");
       System.out.println("Bitte das gewünschte Jahr eingeben : ");
    jahr = eingabewert.nextInt();




    public void verbinden(){

    }

}

Irgendwelche Ideen oder Hilfestellungen hier?

Vielen Dank im Voraus.


LG Mario
 

wer112

Top Contributor
Ich bin überhaubt kein Experte und eher Anfänger, aber ich habe da ne Frage.

Wieso ist da kein return jahr; ?

Ich hoffe ich liege etwas richtig. Den genauen und richtigen Ansatz wird von den anderen gezeigt...
 

Robert Zenz

Top Contributor
Also, das sind Syntaxfehler, das bedeutet die Syntax von deinem Programm ist nicht richtig. Sehen wir uns das mal an:

Java:
// Klasse.
class Osterberechnung {
    // Methode
    public static void main(String[] args) {
        // Methodenkoerper
        Testmethode intHolen = new Testmethode();
        intHolen.verbinden();

        int KlasseAInt = intHolen.b;

        System.out.println("Wert aus Klasse B : " + KlasseAInt);
    } // Ende Methode
} // Ende Klasse

// ------------------------------------------------------------------------

// Imports
import java.util.Scanner;

// Klasse
class Testmethode {
    // Klassenvariablen
    int  jahr; // variable als int für das gewählte Jahr
    Scanner eingabewert = new Scanner(System.in); // eingabe des gewünschten jahres

    // ???
       System.out.println("********************");
       System.out.println("* Feiertagsrechner *");
       System.out.println("********************");
       System.out.println("");
       System.out.println("Bitte das gewünschte Jahr eingeben : ");
    jahr = eingabewert.nextInt();
    
    // Methode
    public void verbinden(){
        // Methodenkoerper
    } // Ende Methode
} // Ende Klasse

Faellt dir dabei etwas auf?
 

Robert Zenz

Top Contributor
Komm, ich habe es dir sogar angestrichen, das schaffst du alleine. Wenn du das Jahr vom Benutzer einlesen willst, rufst du die *Methode* "verbinden" auf, und was machst du in der *Methode* "verbinden"?
 
Wenn ich den Int aus der Klasse Testmethode in einer dritten Klasse verarbeiten will, wie stelle ich das an, bzw. kann man die nicht direkt in alle Klassen nutzen, wenn die Public ist?
 

Robert Zenz

Top Contributor
Du brauchst immer eine Instanz. Also entweder erstellt die dritte Klasse eine neue Instanz fuer sich, oder du reichst die Instanz welche du in der ersten erzeugst an die dritte weiter, zum Beispiel als Methodenparameter.
 

Neue Themen


Oben