JAVA,wie verwende ich eine Variabl in einer anderen Methode?

...komplette Frage anzeigen

4 Antworten

public int mZufall; dann kannst du auch von anderen Klassen aus drauf zugreifen

Antwort bewerten Vielen Dank für Deine Bewertung
SuperDomatic 02.12.2015, 14:04

habe ich gemacht.

public int mZufall;


mZufall= zufall1.zufallszahlerzeugen();


wäre aber falsch

und es ist ein und die selbe Klasse

0
stoffe19 02.12.2015, 14:08
@SuperDomatic

Du musst es vor die Main schreiben! also gleich nach dem Teil mit der Klassendefinition

0

Sehe ich das richtig, dass du `int mZufall= zufall1.zufallszahlerzeugen();` im Konstruktor von `Hauptfenster` deklarierst und nicht in der Klasse `Hauptfenster`?

Normalerweise hast du ja eine übergeordnete Klasse, in der der Konstruktor und die Methoden und Attribute der Klasse stehen. (Also sowas wie public class Hauptfenster)

wenn du da drin int mZufall; schreibst, hast du die Variable innerhalb der ganzen Klasse deklariert. Wenn du z.B. public int mZufall; schreibst, kannst du sogar von außerhalb der Klasse direkt darauf zugreifen.

Im Konstruktor musst du dann das `int` aus der Zeile `int mZufall= zufall1.zufallszahlerzeugen();` wegnehmen, sonst erzeugst du eine neue Variable mZufall innerhalb des Konstruktors.


Antwort bewerten Vielen Dank für Deine Bewertung
daCypher 02.12.2015, 14:19

Also um zu verdeutlichen, was ich meine:

    public class Hauptfenster {

        int mZufall; // <-- Hier wird die Variable deklariert

        public Hauptfenster() {
            zufall1 = new Zufallszahlen();
            mZufall= zufall1.zufallszahlerzeugen(); // <-- Hier wird sie beschrieben
            System.out.println(mZufall);
            setTitle("Zufallszahlen");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setBounds(100, 100, 450, 300);
            contentPane = new JPanel();
            contentPane.setBackground(new Color(255, 240, 245));
            contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
            setContentPane(contentPane);
            contentPane.setLayout(null);

            lbErgebnis = new JLabel("New label2");
            lbErgebnis.setBounds(176, 120, 75, 20);
            contentPane.add(lbErgebnis);
            }

        public void mouseClicked(MouseEvent e) {
            //btLos System.out.println(mZufall);
             try
             {

                 //Zufallszahl generieren

                 //speichern

                 zufall1.setbZahl(Integer.parseInt(tfZahl.getText()));



                 zufall1.setbZahl(Integer.parseInt(tfZahl.getText()));
                 zufall1.getbZahl();


                 //überprüfen ob die Zufallszahl richtig ist
                 if(mZufall==zufall1.getbZahl())
                 {
                     JOptionPane.showMessageDialog(null, "Du bisch der besche yoo!");
                     lbErgebnis.setText("Richtig");
                 }
            }
        }
    }

0

Als Public Varaible deklarieren oder die Variable an die Funktion übergeben

Antwort bewerten Vielen Dank für Deine Bewertung
SuperDomatic 02.12.2015, 14:05

wo müsste das dann hin?

0

mZufall als public variable deklarieren

Antwort bewerten Vielen Dank für Deine Bewertung
SuperDomatic 02.12.2015, 14:03

Wie und wo mache ich das?

0

Was möchtest Du wissen?