Hey Leute,
ich habe als Übung ein kleines Programm geschrieben, das x mal eine Zufallszahl würfelt, dessen generierten Zahlen zwischen 0 und w liegen.
Das Programm funktioniert super, aber ich möchte es durch ein GUI steuern können. Mein Problem ist nun, dass ich nicht weiß wie ich den Input den ich von dem GUI bekomme an meine "Würfelexperiment"(-main) class weiter geben kann und diese auch warten zu lassen bis der button gedrückt wurde.
(y und w sind nur deklariert damit das Programm ausführbar ist, der Code ist noch ziemlich provisorisch...)
Ich hoffe ich habe mich verständlich ausgedrückt!
Cheers, Affenfaust
ich habe als Übung ein kleines Programm geschrieben, das x mal eine Zufallszahl würfelt, dessen generierten Zahlen zwischen 0 und w liegen.
Java:
import java.util.Random;
import java.util.Scanner;
public class Würfelexperiment{
public static void main (String args[]){
Random dice = new Random();
Scanner scan = new Scanner(System.in);
int number;
while (true)
{
System.out.println("Wie oft soll gewürfelt werden?");
int y = scan.nextInt();
System.out.println("Wie viele Zahlen sollen möglich sein?");
int w = scan.nextInt();
System.out.println("");
double[] array = new double[w+1];
for (int z=1; z<=y; ++z){
++array[1+dice.nextInt(w)];
// System.out.println(number); //Nur bei unter 1 000 000 würfen!
}
int print=0;
System.out.println("Häufigkeit Wahrscheinlichkeit (experimentell)");
for (int counter=0; counter<w; ++counter){
++print;
double f = array[print]/y*100;
int g = (int)f;
System.out.println(print+" = "+array[print]+" "+g+"%");
}
System.out.println("");
System.out.println("");
System.out.println("");
}
}
}
Das Programm funktioniert super, aber ich möchte es durch ein GUI steuern können. Mein Problem ist nun, dass ich nicht weiß wie ich den Input den ich von dem GUI bekomme an meine "Würfelexperiment"(-main) class weiter geben kann und diese auch warten zu lassen bis der button gedrückt wurde.
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class frame extends JFrame{
private JTextField textfield1;
private JTextField textfield2;
private JLabel label1;
private JLabel label2;
private JButton button;
public frame(){
super("Würfelexperiment");
setLayout(new FlowLayout());
label1 = new JLabel("Wie oft soll gewürfelt werden?");
add(label1);
textfield1 = new JTextField("",12);
add(textfield1);
label2 = new JLabel("Wie viele Zahlen sollen möglich sein?");
add(label2);
textfield2 = new JTextField("",12);
add(textfield2);
button = new JButton(" Ausführen ");
add(button);
HandlerClass handler = new HandlerClass();
button.addActionListener(handler);
}
private class HandlerClass implements ActionListener{
public void actionPerformed(ActionEvent event){
String s = textfield1.getText();
int y = Integer.parseInt(s);
// was muss hier hingeschrieben werden, um die Werte zu übergeben?
JOptionPane.showMessageDialog(null, "Platzhalter\nPlatzhalter");
}
}
}
Java:
import javax.swing.JFrame;
import java.util.Random;
import java.util.Scanner;
public class würfelexperiment{
public static void main(String args[]){
frame window = new frame();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(275,180);
window.setVisible(true);
window.setResizable(false);
int y = 10000;
int w = 1;
Random dice = new Random();
Scanner scan = new Scanner(System.in);
int number;
while (true)
{
double[] array = new double[w+1];
for (int z=1; z<=y; ++z){
++array[1+dice.nextInt(w)];
}
int print=0;
// System.out.println("Häufigkeit Wahrscheinlichkeit (experimentell)");
for (int counter=0; counter<w; ++counter){
++print;
double f = array[print]/y*100;
int g = (int)f;
System.out.println(print+" = "+array[print]+" "+g+"%");
}
}
}
}
(y und w sind nur deklariert damit das Programm ausführbar ist, der Code ist noch ziemlich provisorisch...)
Ich hoffe ich habe mich verständlich ausgedrückt!
Cheers, Affenfaust
Zuletzt bearbeitet: