Yahoo Clever wird am 4. Mai 2021 (Eastern Time, Zeitzone US-Ostküste) eingestellt. Ab dem 20. April 2021 (Eastern Time) ist die Website von Yahoo Clever nur noch im reinen Lesemodus verfügbar. Andere Yahoo Produkte oder Dienste oder Ihr Yahoo Account sind von diesen Änderungen nicht betroffen. Auf dieser Hilfeseite finden Sie weitere Informationen zur Einstellung von Yahoo Clever und dazu, wie Sie Ihre Daten herunterladen.
Wo liegt der Fehler?(Java)?
Im folgenden Quellcode der in Java geschrieben ist hat sich ein Fehler versteckt den ich mit meinem einsteiger Wissen nicht beheben kann.
Ich bitte im ein mögliche Verbesserung zu in zum laufen bringt.
Der Quellcode:
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.util.Random;
public class Zufallszahl extends JFrame{
public static void main(String[] args) {
new Zufallszahl();
}
Zufallszahl zufallszahl = new Zufallszahl();
int b=zufallszahl.zufallszahl(1, 2);
public int zufallszahl(int min, int max){
Random random = new Random();
return random.nextInt(max - min + 1) + min;
}
public Zufallszahl(){
super("Caipi");
if(b==2){
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().add(new JLabel(new ImageIcon("caipi.jpg")));
pack();
setVisible(true);
}
if(b==1){ System.out.println("eins");}
else{System.out.println("nichts");}
}
}
Es ist eine recht komplexer Fehler und zwar:
Exception in thread "main" java.lang.StackOverflowError
at java.awt.Insets. (Unknown Source)
at sun.awt.windows.WToolkit.getScreenInsets(Native Method)
at sun.awt.windows.WToolkit.getScreenInsets(Unknown Source)
at java.awt.Window.init(Unknown Source)
at java.awt.Window. (Unknown Source)
at java.awt.Frame. (Unknown Source)
at javax.swing.JFrame. (Unknown Source)
at Zufallszahl. (Zufallszahl.java:24)
at Zufallszahl. (Zufallszahl.java:12)
at Zufallszahl. (Zufallszahl.java:12)
Es liegt meiner Meinung kein Fehler in den Klammer vor die Letzte Klammer ist die schließung Klammer von der aller ersten Klammer.
Hier ! !
V V
Ich hab das nicht ganz verstanden und gebe die Möglichkeit einem User noch mal alles genauer zusammen zu fassen und
nur den Quellcode korrigiert einzufügen.
Und sofort die beste Antwort zu sein!!!!!!!!!!!
2 Antworten
- 🐟 Fish 🐟Lv 7vor 9 JahrenBeste Antwort
Irgendwann bekommst du einen Blick für so offensichtliche Klammerfehler..alles ab der Deklaration Zufallszahl zufallszahl .... Liegt außerhalb des Main Blocks
public class Zufallszahl extends JFrame{
public static void main(String[] args) {
new Zufallszahl();
}
>>>Zufallszahl zufallszahl = new Zufallszahl();
...
Das liegt ausserhalb des Main Blocks und kann somit nicht ausgewertet werden!!