Hallo java-forum!
Ich hab jetzt das 2. Schulhalbjahr der 11. Klasse auf freiwilliger Basis Informatik (ich hätte es nach dem ersten Halbjahr abwählen sollen
). Wir beschäftigen uns nur mit Java. Zum Abschluss soll jetzt jeder seine eigenes Programm erstellen, ich habe mich für ein 17 und 4 entschieden. Aber ich bin maximal untalentiert. Nun gut, mein Programm kann bis jetzt 2 Karten nach Zufall anzeigen und konnte mal auf Knopfdruck eine dritte anzeigen (ich habe etwas rumgepruckelt und kriege es jetzt komischerweise nichtmal mehr in diesen Zustand zurück; er malt nach dem Knopfdruck 3 gleiche Karten :cry: ). Mit dem Anzeigen ebenjener wurden aber auch die beiden ersten Karten neu erstellt, was daran lag, dass meine Zufallsfunktion in public void paint(Graphics g) war und eben bei repaint();, was nach dem Button erfolgt, immer wieder erfolgte. Ich wollte dann die Zufallszahlen außerhalb von paint erstellen (in "public void rndm"() oder meinetwegen auch in init() ), aber das ging komischerweise nicht. Der Compiler kannte auf einmal die durch Zufall ausgewählte int "Zahl" in public void paint(Graphics g) nicht mehr, wenn er durch sie eine bestimmte Karte zeichnen sollte. Die Fehlermeldung war etwas mit "cannot resolve Symbol" und "Zahl" in public void paint(Graphics g) war markiert. Warum zur Hölle klappt das nicht? Muss ich die Zufallszahlen irgendwie übergeben? Andere Zahlen kann ich doch auch außerhalb von Paint definieren und sie klappen dort. Ich versteh das nicht.
Es wäre sehr nett, wenn man mir helfen könnte. Das mit den Zufallszahlen ist auch nicht mein einziges Problem, aber im Moment mein dringlichstes.
Als KSKB wäre es sowas:
Als Fehler wird zu allen if-Bedingungen das hier angezeigt:
sundvtest.java:34: cannot resolve symbol
symbol : variable Zahl2
location: class sundvtest
if (Zahl2==2)
^
Tausend Dank für alle Antworten
crisscross
Ich hab jetzt das 2. Schulhalbjahr der 11. Klasse auf freiwilliger Basis Informatik (ich hätte es nach dem ersten Halbjahr abwählen sollen
Es wäre sehr nett, wenn man mir helfen könnte. Das mit den Zufallszahlen ist auch nicht mein einziges Problem, aber im Moment mein dringlichstes.
Als KSKB wäre es sowas:
Code:
import java.awt.*;
import java.applet.*;
import java.util.*;
public class sundvtest extends Applet
{
public void init()
{
Random Zufall = new Random();
int Zahl = Zufall.nextInt (2)+1;
showStatus(Integer.toString(Zahl));
Random Zufall2 = new Random();
int Zahl2 = Zufall2.nextInt (2)+1;
showStatus(Integer.toString(Zahl2));
}
public void paint(Graphics g)
{
if (Zahl==1)
{g.drawRect(100,100,300,300);
}
if (Zahl==2)
{g.drawRect(150,100,300,300);
}
if (Zahl2==1)
{g.drawRect(150,150,300,300);
}
if (Zahl2==2)
{g.drawRect(200,200,300,300);
}
}
}
Als Fehler wird zu allen if-Bedingungen das hier angezeigt:
sundvtest.java:34: cannot resolve symbol
symbol : variable Zahl2
location: class sundvtest
if (Zahl2==2)
^
Tausend Dank für alle Antworten
crisscross