Java integer Variable soll sich +1 addieren
Hallo. Wie kann ich eine Integer Variable mit sich selbst mit 1 addieren?? Ich will, dass mein Knopf eine 0 anzeigt, welche beim Klicken zu einer 1 wird, beim zweiten klicken zu einer 2, beim dritten zu einer 3 usw usw usw.
Das hier ist meine Variablen-class und bei Zeile 3 kommt der Fehler, dass die Variable doppelt da ist. Genau so geht das aber in Python Batch usw. Es muss also auch in Java gehen.
public final class Variablen{
public static int nummer(){
int x = x+1;
return x;
}
}
Hoffentlich kann mir wer helfen. PS: Die Variable wird aus einer anderen Class abgerufen mit folgendem Text:
package de.Leon.java;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Fenster extends JFrame
implements ActionListener{
private JButton Knobb = new JButton("Drücken");
private JButton DesIsAuchEnKnobb = new JButton("Zahlen");
public Fenster(){
setDefaultCloseOperation(EXIT_ON_CLOSE);
Knobb.addActionListener(this);
DesIsAuchEnKnobb.addActionListener(this);
getContentPane().add(Knobb);
getContentPane().add(DesIsAuchEnKnobb, BorderLayout.SOUTH);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new Fenster();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==Knobb){
Knobb.setText("Gedrückt");
}
if (e.getSource()==DesIsAuchEnKnobb) {
DesIsAuchEnKnobb.setText("" + Variablen.nummer());
}
}
}
Ich bin noch am Java lernen und kann also nicht sonderlich viel^^
Ich benutze Eclipse
3 Antworten
Du deklarierst i jedesmal neu. 2 Zeilen später ist die Variable aber wieder futsch da ihr Gültigkeitsbereich verlassen wurde. Du brauchst eine in dem fall static int i in der Klasse und inkrementierst sie mit i++.
Das problem ist gelöst. Danke!
Wenn man eine Variable neu definiert, muss das Int davor weg. Alles ausser der Name muss davor weg.
Lernst du das von dir aus?
Du kannst dir merken:
Eine Variable ist nur zwischen den beiden geschweiften Klammerr gültig, zwischen denen sie deklariert wurde.
Das gilt natürlich nicht für öffentliche Klassenvariablen.