Also ich habe ein kleines Programm schrieben erst nur für die Console und jetzt mit einem JFramen aber meine Do While schleife funktioniert nicht und jetzt wird der Vorhang nicht mehrmals ausgeführt wird.
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Game implements ActionListener {
int max = 1000;
int min = 1;
int temp;
int guess = (max + min) / 2;
JFrame jf = new JFrame();
JButton bn1 = new JButton("1");
JButton bn2 = new JButton("2");
JButton bn3 = new JButton("3");
do {
public Game() {
jf.setSize(400, 600);
jf.setVisible(true);
jf.setLocationRelativeTo(null);
bn1.setBounds(45, 300, 100, 50);
bn1.addActionListener(this);
jf.add(bn1);
bn2.setBounds(145, 300, 100, 50);
bn2.addActionListener(this);
jf.add(bn2);
bn3.setBounds(245, 300, 100, 50);
bn3.addActionListener(this);
jf.add(bn3);
JPanel panel = (JPanel) jf.getContentPane();
panel.setLayout(null);
JLabel jl = new JLabel("Noxinator");
jl.setFont(new Font("Consolas", 0, 50));
panel.add(jl);
Dimension size = jl.getPreferredSize();
jl.setBounds(70, 50, size.width, size.height);
JLabel jl2 = new JLabel("Ist die gesuchte Zahl " + guess + " ?" );
panel.add(jl2);
jl2.setBounds(110, 160, 300, size.height);
JLabel jl3 = new JLabel("Wenn dies übereinstimmt drücken sie die 1");
panel.add(jl3);
jl3.setBounds(70, 180, 300, size.height);
JLabel jl4 = new JLabel("Wenn ihre Zahl kleiner ist drücken sie die 2");
panel.add(jl4);
jl4.setBounds(70, 200, 300, size.height);
JLabel jl5 = new JLabel("Wenn ihre Zahl größer ist drücken sie die 3");
panel.add(jl5);
jl5.setBounds(70, 220, 300, size.height);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == bn1) {
Object[] options = { "OK"};
JOptionPane.showOptionDialog(null, "Sie haben verloren", "Noxinator", JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, options, options[0]);
jf.hide();
}else if(e.getSource() == bn2) {
max = guess;
guess = nextGuess(guess, max, min);
}else if(e.getSource() == bn3) {
min = guess;
guess = nextGuess(guess, max, min);
}
}while(temp !=);
public static int nextGuess(int guess, int max, int min) {
guess = (max + min) /2;
return guess;
}
}
Zuletzt bearbeitet von einem Moderator: