zoukankan      html  css  js  c++  java
  • 201521123110 java课程设计

    一、需求分析

    功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。保留用户测试成绩,做出成绩排行榜。排行榜存放到文件中。
    

    二、本组课题及本人任务

    •码云截图:

    •本人任务: 编写开始以及操作界面代码,以及完成开始和操作界面。

    三、总体设计(概要设计)

    猜数游戏主界面应该分为三个,开始,退出,以及排行榜模块。开始游戏后要有输入和输出界面。当猜中游戏后应该录入玩家名称,同时获得所用的时间,并且对所用时间进行升序排列,输出前三名。在排行榜界面后应该还有退出按钮。
    四、本人负责的主要功能展示与代码分析
    1.使用netbeans进行软件界面的设计,再进行界面间的切换以及联系。

    2.对生成随机比较数以及输入输出数据功能代码进行编写。

    package game;
    
    import java.io 
    
    .FileNotFoundException;
    import java.util.Random;
    
    
    public class GNB extends javax.swing.JFrame {
    public GNB() {
    initComponents();
    }
    
    
    
    private void initComponents() {
    
    start = new javax.swing.JToggleButton();
    exit = new javax.swing.JToggleButton();
    paihangbang = new javax.swing.JToggleButton();
    
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    
    start.setText("开始");
    start.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    startActionPerformed(evt);
    }
    });
    
    exit.setText("退出");
    exit.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    exitActionPerformed(evt);
    }
    });
    
    paihangbang.setText("排行榜");
    paihangbang.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    try {
    paihangbangActionPerformed(evt);
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    });
    private void startActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_startActionPerformed
    work w = new work();
    w.setVisible(true);
    setVisible(false);
    }// GEN-LAST:event_startActionPerformed
    
    private void exitActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_exitActionPerformed
    System.exit(0);
    
    }// GEN-LAST:event_exitActionPerformed
    
    private void paihangbangActionPerformed(java.awt.event.ActionEvent evt) throws FileNotFoundException {// GEN-FIRST:event_paihangbangActionPerformed
    paihang p = new paihang();
    p.setVisible(true);
    setVisible(false);
    }// GEN-LAST:event_paihangbangActionPerformed
    
    
    public static void main(String args[]) {
    
    try {
    for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
    if ("Nimbus".equals(info.getName())) {
    javax.swing.UIManager.setLookAndFeel(info.getClassName());
    break;
    }
    }
    } catch (ClassNotFoundException ex) {
    java.util.logging.Logger.getLogger(GNB.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
    java.util.logging.Logger.getLogger(GNB.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
    java.util.logging.Logger.getLogger(GNB.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
    java.util.logging.Logger.getLogger(GNB.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    // </editor-fold>
    
    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new GNB().setVisible(true);
    }
    });
    }
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JToggleButton exit;
    private javax.swing.JToggleButton paihangbang;
    private javax.swing.JToggleButton start;
    }
    package game;
    
    import java.awt.FlowLayout;
    import java.awt.Label;
    import  java.io 
    
    .File;
    import  java.io 
    
    .FileOutputStream;
    import  java.io 
    
    .FileWriter;
    import  java.io 
    
    .IOException;
    import  java.io 
    
    .PrintWriter;
    import java.sql.Date;
    import java.util.Random;
    
    import javax.swing.JButton;
    import javax.swing.JDialog;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    
    
    public class work extends javax.swing.JFrame {
    
    class MyDialog extends JDialog {
    // 文本框,用于输入字符串
       JTextField field;
       // “确定”按钮
       JButton setButton;
       MyDialog() {
           // 调用父类的构造函数,
           // 第三个参数用false表示允许激活其他窗体。为true表示不能够激活其他窗体
           super();
    
           // 添加Label和输入文本框
           JPanel p1 = new JPanel();
           JLabel label = new JLabel("<html>恭喜,游戏成功<br>请输入用户名</html>");
           p1.add(label);
           field = new JTextField(30);
           p1.add(field);
           getContentPane().add("Center", p1);
    
           // 添加确定和取消按钮
           JPanel p2 = new JPanel();
           p2.setLayout(new FlowLayout(FlowLayout.RIGHT));
           setButton = new JButton("确 定");
           setButton.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    try {
    setActionPerformed(evt);
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    });
           p2.add(setButton);
           getContentPane().add("South", p2);
    
           // 调整对话框布局大小
           pack();
       }
       
    private void setActionPerformed(java.awt.event.ActionEventevt) throws IOException {// GEN-FIRST:event_startActionPerformed
    String username = field.getText();
    long diffSec = diff / (1000);
    File datafile = new File("D: \data.txt");
    FileWriter fileWriter = new FileWriter(datafile, true);
    //打开文件
    PrintWriter printWriter = new PrintWriter(fileWriter);
    printWriter.println(new User(username, diffSec));
    printWriter.close();
    this.dispose();
    work w = new work();
    w.setVisible(true);
    }
    

    五、课程设计感想
    在小组中虽然是进行分配任务工作,但是遇到困难时,也可以进行有效的沟通交流,当一步步要将设计的程序完工时,是十分开心的。让我明白,要多学多问,遇到困难时,先查阅资料,再去询问他人,能让我们记忆的更深刻。

  • 相关阅读:
    死工资的缓慢呆板已不能适合这个新型的商业社会。
    java获取前一天时间SimpleDateFormat,java判断某个时间段
    设置 DNS,防止 DNS 污染,清除 DNS 缓存ipconfig /flushdns
    win7 怎么设置开机直接进入桌面? netplwiz 命令
    AWS免费云服务套餐申请步骤及常见问题
    阿里云自定义镜像可以免费保存,ECS实例到期后自定义镜像手动快照不会被删除
    php获取字符串长度函数strlen和mb_strlen
    PHP HTML混写,PHP中把大块HTML文本直接赋值给字符串变量的方法
    人工智能跟脑神经科学没有关系。没有出差错的机会,就没有进化的可能。要想自己把事情做成功,就需要弄清楚事物的本质。
    python GIL 全局锁,多核cpu下的多线程性能究竟如何?
  • 原文地址:https://www.cnblogs.com/zcjj/p/7064020.html
Copyright © 2011-2022 走看看