Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
public String nen() {
int zufallszahlen;
int MIN = 1;
int MAX = 49;
Random generator = new Random();
for (int i = 1; i <= 6; i++) {
zufallszahlen = generator.nextInt(MAX - MIN + 1) + MIN;
}
return null;
}
da du die methode so deklarierst "public String nen()" ist doch normal das er dann als return wert einen String erwartet aber du jedoch nur null returnst sprich nichts
wenn du in der methode kein return willst mach es mit void
dem "Label" wird bei Klick der Wert der Methode "nen()" als Label-Text gesetzt. Dies muss ein String sein. Deine Methode gibt null zurück. Wie schon hier erwähnt ist das unbestimmt, nichts.
Was glaubst Du, willst Du auf dem Label sehen? Vielleicht alle 6 "gezogenen" Zahlen durch ein Leerzeichen voneinander getrennt?
Um Deinen Ansatz nicht komplett umzuwerfen, ändere den Typ von "zufallszahlen" in String und sorge dafür, dass alle gezogenen Zahlen mit Leerzeichen als Trenner dort landen. Return null sollte dann durch etwas klügeres ausgetauscht werden. Vielleicht fällt Dir ein was...
dem "Label" wird bei Klick der Wert der Methode "nen()" als Label-Text gesetzt. Dies muss ein String sein. Deine Methode gibt null zurück. Wie schon hier erwähnt ist das unbestimmt, nichts.
Was glaubst Du, willst Du auf dem Label sehen? Vielleicht alle 6 "gezogenen" Zahlen durch ein Leerzeichen voneinander getrennt?
Um Deinen Ansatz nicht komplett umzuwerfen, ändere den Typ von "zufallszahlen" in String und sorge dafür, dass alle gezogenen Zahlen mit Leerzeichen als Trenner dort landen. Return null sollte dann durch etwas klügeres ausgetauscht werden. Vielleicht fällt Dir ein was...
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
public class LottoProgramm extends JFrame {
JLabel Text;
JButton Button;
JLabel Label;
class LottoListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
Label.setText(nen());
}
public String nen() {
int zufallszahlen;
int MIN = 1;
int MAX = 49;
Random generator = new Random();
StringBuffer str = new StringBuffer();
for (int i = 1; i <= 6; i++) {
zufallszahlen = generator.nextInt(MAX - MIN + 1) + MIN;
str.append((zufallszahlen + " "));
}
return str.toString();
}
}
public LottoProgramm(String titel) {
super(titel);
Text = new JLabel(" Bitte Drücken Sie auf den Knopf");
Button = new JButton(" Drücken");
Label = new JLabel();
setLayout(new FlowLayout());
add(Text);
add(Button);
add(Label);
// das Fenster packen
pack();
// die Standardaktion beim Schließen festlegen
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// das Fenster anzeigen
setVisible(true);
setSize(250, 200);
LottoListener listener = new LottoListener();
Button.addActionListener(listener);
}
public static void main(String[] args) {
new LottoProgramm("LottoProgramm");
}
}
auch wenn ichs von anfang an vllt bissle anders gemacht hätte
p.s.: denk auch dran, dass keine zahl doppelt vorkommen kann (lotto )
anstatt die zahlen konkateniert in einem string zu speichern, könntest du sie auch bspw. in ein array speichern, was dem vorteil hat, du könntest das ganze auch leicht sortieren/vergleichen/etc....
bsp.:
Java:
int[] zahlen = new int[6];
for (int i = 1; i <= 6; i++) {
zufallszahlen = generator.nextInt(MAX - MIN + 1) + MIN;
zahlen[i-1] = zufallszahlen;
}
java.util.Arrays.sort( zahlen);
return java.util.Arrays.toString( zahlen);