Hab ein kleines Lottoprogramm geschrieben. Die Ziehung funktioniert und wird sauber in der DOS Box ausgegeben. Jetzt habe ich noch ein Frame dazu gemacht und möchte die Zahlen dort auch ausgeben.
Für die DOS Box schreibe ich: System.out.println("Die Zahlen: "+ i ); und die Zahlen werden der Reihe nach ausgegeben.
Für das Frame schreibe ich: g.drawString("Die Zahlen: "+ i , 50, 50); und die Zahlen werden alle übereinander geschrieben, so dass man nichts mehr erkennen kann.
Hat zufällig jemand eine Idee wie man das im Frame lösen kann, damit die Zahlen auch der Reihe nach ausgegeben werden und nicht übereinander geschrieben werden?
Für die DOS Box schreibe ich: System.out.println("Die Zahlen: "+ i ); und die Zahlen werden der Reihe nach ausgegeben.
Für das Frame schreibe ich: g.drawString("Die Zahlen: "+ i , 50, 50); und die Zahlen werden alle übereinander geschrieben, so dass man nichts mehr erkennen kann.
Hat zufällig jemand eine Idee wie man das im Frame lösen kann, damit die Zahlen auch der Reihe nach ausgegeben werden und nicht übereinander geschrieben werden?
Code:
import java.util.*;
import java.awt.*;
import java.awt.event.*;
public class Lotto_awt extends Frame {
public int i;
public Lotto_awt(String title) {
super(title);
setLayout(null);
setSize (300,300);
setVisible(true);
}
public void paint (Graphics g){
BitSet b = new BitSet();
Random r = new Random();
System.out.println("*********************************\n");
System.out.print("Mein Lottotip: ");
int cnt = 0;
while (cnt < 6) {
int num = 1 + Math.abs(r.nextInt()) % 49;
if (!b.get(num)) {
b.set(num);
cnt++;
}
}
for (int i = 1; i <= 49; i++){
if (b.get(i)) {
System.out.print(i+ " ");
g.drawString("Die Zahlen: "+i, 50, 50);
}
}System.out.println("\n");
}
public static void main (String[] args){
new Lotto_awt("Die Lottozahlen");
}
}