求高手解决一下,用java做一个下面的程序

求高手解决一下,用java做一个下面的程序
通过按钮产生1~100之间的随机数,然后再输入文本框中,随机输入数字,单击确定后,上方提示文本框中提示猜大了,还是猜小了。根据提示,不断输入猜的数字,直到猜对。
你可以自己看着修改下:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
class gameFrame extends JFrame {
    int i = 9; // 记录剩余的猜数字次数
    int n = new Random().nextInt(900) + 100;
    JMenuBar menu = new JMenuBar(); // 菜单栏
    JMenu f = new JMenu("文件"); // 菜单项
    JMenu he = new JMenu("帮助"); // 菜单项
    JMenuItem quit = new JMenuItem("退出"); // 菜单选项
    JMenuItem about = new JMenuItem("关于..."); // 菜单选项
    JPanel in = new JPanel(new GridLayout(1, 4)); // 输入文本框所在行面板,hp,tfin,buttonArea将加入此面板
    JPanel hp = new JPanel(new BorderLayout()); // 标签 help 将加入此面板;此面板将加入 in 面板
    JLabel help = new JLabel("请输入100~1000之间的数字:"); // 输入框前面的提示文本
    JPanel tfin = new JPanel(new BorderLayout()); // 输入框将加入此面板,“确定”
                                                    // 按钮将加入此面板;此面板将加入 in 面板
    JTextField input = new JTextField(); // 输入框
    JButton ensure = new JButton("确定"); // 确定输入按灶裤键钮
    JPanel buttonsArea = new JPanel(new GridLayout(1, 2)); // 按键区(答案,重玩),此面板将加入
                                                            // in 面板
    JPanel re = new JPanel(new BorderLayout()); // 重玩按钮区,repeat 按钮将加入此面板
    JButton repeat = new JButton("重玩"); // 重玩按钮
    JPanel an = new JPanel(new BorderLayout()); // answer 按钮隐巧区
    JButton answer = new JButton("答案"); // answer 按钮
    JTextArea a = new JTextArea(); // 提示文本显示区域
    JPanel p = new JPanel(new BorderLayout()); // 文本域面板
    gameFrame() { // 构造方法
        // help.setAlignment(Label.RIGHT);
        hp.add(help, BorderLayout.CENTER);
      纯此  tfin.add(input, BorderLayout.CENTER);
        tfin.add(ensure, BorderLayout.EAST);
        re.add(repeat, BorderLayout.CENTER);
        re.add(new JLabel(" "), BorderLayout.WEST);
        an.add(answer, BorderLayout.CENTER);
        an.add(new JLabel(" "), BorderLayout.WEST);
        buttonsArea.add(re);
        buttonsArea.add(an);
        in.add(hp);
        in.add(tfin);
        in.add(buttonsArea);
        this.add(in, BorderLayout.NORTH);
        a.setEditable(false);
        a.setLineWrap(true);
        a.setWrapStyleWord(true);
        a.setFont(new Font("font1", Font.BOLD, 15));
        p.add(new JScrollPane(a));
        // jsb.add(a);
        // jsb.setOrientation(JScrollBar.VERTICAL);
        this.add(p, BorderLayout.CENTER);
        f.add(quit);
        menu.add(f);
        he.add(about);
        menu.add(he);
        this.setJMenuBar(menu);
        input.addActionListener(new MyMonitor());
        ensure.addActionListener(new MyMonitor());
        repeat.addActionListener(new MyMonitor2());
        answer.addActionListener(new MyMonitor3());
        quit.addActionListener(new MyMonitor1());
        about.addActionListener(new MyMonitor4());
        this.addWindowListener(new MyWindowMonitor());
        this.setBounds(400, 200, 550, 450);
        this.setResizable(false);
        this.setTitle("来,我们猜数字吧!");
        this.setVisible(true);
    }
    class MyWindowMonitor extends WindowAdapter { // X 监听器
        public void windowClosing(WindowEvent e) {
            setVisible(false);
            System.exit(0);
        }
    }
    class MyMonitor1 implements ActionListener { // quit 退出菜单项监听器
        public void actionPerformed(ActionEvent ex) {
            System.exit(0);
        }
    }
    class MyMonitor2 implements ActionListener { // repeat 重玩按钮监听器
        public void actionPerformed(ActionEvent ex1) {
            i = 9;
            a.setText("");
            n = new Random().nextInt(900) + 100;
        }
    }
    class MyMonitor3 implements ActionListener { // answer 按钮监听器
        public void actionPerformed(ActionEvent ex2) {
            String str1 = new String("正确答案是:" + n);
            a.append(str1 + " ");
        }
    }
    class MyMonitor4 implements ActionListener { // 关于菜单项监听器
        public void actionPerformed(ActionEvent ex3) {
            JTextArea jta = new JTextArea();
            jta.setText("此游戏版权归singsong所有,你可以玩此游戏,但由此游戏带来的一切后果,"
            + "由玩家自负。 游戏规则: 您有10次猜数字的机会,每次你可以输入100~1000之间的任意数值,按ENTER"
            + "或点击确认按钮,确认输入。 点击“答案”按钮可以显示答案。 一轮游戏结束后,可以点击“重玩”按钮进入新一轮游戏! "
            + "祝您游戏愉快!");
            jta.setLineWrap(true);
            jta.setWrapStyleWord(true);
            jta.setEditable(false);
            jta.setFont(new Font("font2", Font.TRUETYPE_FONT, 15));
            // jta.setFont(new Font("font1",Font.BOLD,15));
            JDialog jd = new JDialog();
            jd.setTitle("帮助");
            jd.add(jta);
            setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
            jd.setBounds(450, 300, 450, 300);
            jd.setResizable(false);
            jd.setVisible(true);
        }
    }
    class MyMonitor implements ActionListener { // 确定按钮监听器
        public int n1;
        public void actionPerformed(ActionEvent e) {
            if (i == -1) {
                a.append("还要继续,请点击“重玩”按钮! ");
                input.setText("");
            }
            else {
                String str = input.getText();
                input.setText("");
                a.append(str + " ");
                try {
                    n1 = Integer.parseInt(str);
                } catch (NumberFormatException e1) {
                    n1 = -1;
                }
                if (n1 < 100 || n1 > 1000) {
                    a.append("无效输入!请重 新输入吧! ");
                }
                else if (n1 == n) {
                    a.append("恭喜你猜对了! ");
                    i = -1;
                    a.append("还要继续,请点击“重玩”按钮! ");
                } else if (n1 > n) {
                    if (i == 0) {
                        String s = new String("大了!很遗憾你没能猜对! 还要继续,请点击“重玩”按钮! ");
                        a.append(s);
                        i--;
                    } else {
                        String s = new String("大了! 你还有" + i + "次机会! ");
                        a.append(s);
                        i--;
                    }
                } else if (n1 < n) {
                    if (i == 0) {
                        String s = new String("小了!很遗憾你没能猜对! 还要继续,请点击“重玩”按钮! ");
                        a.append(s);
                        i--;
                    } else {
                        String s = new String("小了!你还有" + i + "次机会! ");
                        a.append(s);
                        i--;
                    }
                }
            }
        }
    }
}
public class Game {
    public static void main(String args[]) {
        gameFrame g = new gameFrame();
    }
}

用java的awt?我做java两年了,没用过java写这玩意,这东西也就js写写玩玩。
写得不错了,加油!

颜色、字体可以适当调整一下。
这么简单的程序还是自己学着做吧
← 上一篇: 下一篇: →