一、需求分析

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

二、本组课题及本人任务

•码云截图:

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

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

猜数游戏主界面应该分为三个,开始,退出,以及排行榜模块。开始游戏后要有输入和输出界面。当猜中游戏后应该录入玩家名称,同时获得所用的时间,并且对所用时间进行升序排列,输出前三名。在排行榜界面后应该还有退出按钮。

四、本人负责的主要功能展示与代码分析

1.使用netbeans进行软件界面的设计,再进行界面间的切换以及联系。

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

  1. package game;
  2. import java.io
  3. .FileNotFoundException;
  4. import java.util.Random;
  5. public class GNB extends javax.swing.JFrame {
  6. public GNB() {
  7. initComponents();
  8. }
  9. private void initComponents() {
  10. start = new javax.swing.JToggleButton();
  11. exit = new javax.swing.JToggleButton();
  12. paihangbang = new javax.swing.JToggleButton();
  13. setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  14. start.setText("开始");
  15. start.addActionListener(new java.awt.event.ActionListener() {
  16. public void actionPerformed(java.awt.event.ActionEvent evt) {
  17. startActionPerformed(evt);
  18. }
  19. });
  20. exit.setText("退出");
  21. exit.addActionListener(new java.awt.event.ActionListener() {
  22. public void actionPerformed(java.awt.event.ActionEvent evt) {
  23. exitActionPerformed(evt);
  24. }
  25. });
  26. paihangbang.setText("排行榜");
  27. paihangbang.addActionListener(new java.awt.event.ActionListener() {
  28. public void actionPerformed(java.awt.event.ActionEvent evt) {
  29. try {
  30. paihangbangActionPerformed(evt);
  31. } catch (FileNotFoundException e) {
  32. // TODO Auto-generated catch block
  33. e.printStackTrace();
  34. }
  35. }
  36. });
  37. private void startActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_startActionPerformed
  38. work w = new work();
  39. w.setVisible(true);
  40. setVisible(false);
  41. }// GEN-LAST:event_startActionPerformed
  42. private void exitActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_exitActionPerformed
  43. System.exit(0);
  44. }// GEN-LAST:event_exitActionPerformed
  45. private void paihangbangActionPerformed(java.awt.event.ActionEvent evt) throws FileNotFoundException {// GEN-FIRST:event_paihangbangActionPerformed
  46. paihang p = new paihang();
  47. p.setVisible(true);
  48. setVisible(false);
  49. }// GEN-LAST:event_paihangbangActionPerformed
  50. public static void main(String args[]) {
  51. try {
  52. for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  53. if ("Nimbus".equals(info.getName())) {
  54. javax.swing.UIManager.setLookAndFeel(info.getClassName());
  55. break;
  56. }
  57. }
  58. } catch (ClassNotFoundException ex) {
  59. java.util.logging.Logger.getLogger(GNB.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  60. } catch (InstantiationException ex) {
  61. java.util.logging.Logger.getLogger(GNB.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  62. } catch (IllegalAccessException ex) {
  63. java.util.logging.Logger.getLogger(GNB.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  64. } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  65. java.util.logging.Logger.getLogger(GNB.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  66. }
  67. // </editor-fold>
  68. /* Create and display the form */
  69. java.awt.EventQueue.invokeLater(new Runnable() {
  70. public void run() {
  71. new GNB().setVisible(true);
  72. }
  73. });
  74. }
  75. // Variables declaration - do not modify//GEN-BEGIN:variables
  76. private javax.swing.JToggleButton exit;
  77. private javax.swing.JToggleButton paihangbang;
  78. private javax.swing.JToggleButton start;
  79. }
  80. package game;
  81. import java.awt.FlowLayout;
  82. import java.awt.Label;
  83. import java.io
  84. .File;
  85. import java.io
  86. .FileOutputStream;
  87. import java.io
  88. .FileWriter;
  89. import java.io
  90. .IOException;
  91. import java.io
  92. .PrintWriter;
  93. import java.sql.Date;
  94. import java.util.Random;
  95. import javax.swing.JButton;
  96. import javax.swing.JDialog;
  97. import javax.swing.JFrame;
  98. import javax.swing.JLabel;
  99. import javax.swing.JOptionPane;
  100. import javax.swing.JPanel;
  101. import javax.swing.JTextField;
  102. public class work extends javax.swing.JFrame {
  103. class MyDialog extends JDialog {
  104. // 文本框,用于输入字符串
  105. JTextField field;
  106. // “确定”按钮
  107. JButton setButton;
  108. MyDialog() {
  109. // 调用父类的构造函数,
  110. // 第三个参数用false表示允许激活其他窗体。为true表示不能够激活其他窗体
  111. super();
  112. // 添加Label和输入文本框
  113. JPanel p1 = new JPanel();
  114. JLabel label = new JLabel("<html>恭喜,游戏成功<br>请输入用户名</html>");
  115. p1.add(label);
  116. field = new JTextField(30);
  117. p1.add(field);
  118. getContentPane().add("Center", p1);
  119. // 添加确定和取消按钮
  120. JPanel p2 = new JPanel();
  121. p2.setLayout(new FlowLayout(FlowLayout.RIGHT));
  122. setButton = new JButton("确 定");
  123. setButton.addActionListener(new java.awt.event.ActionListener() {
  124. public void actionPerformed(java.awt.event.ActionEvent evt) {
  125. try {
  126. setActionPerformed(evt);
  127. } catch (IOException e) {
  128. // TODO Auto-generated catch block
  129. e.printStackTrace();
  130. }
  131. }
  132. });
  133. p2.add(setButton);
  134. getContentPane().add("South", p2);
  135. // 调整对话框布局大小
  136. pack();
  137. }
  138. private void setActionPerformed(java.awt.event.ActionEventevt) throws IOException {// GEN-FIRST:event_startActionPerformed
  139. String username = field.getText();
  140. long diffSec = diff / (1000);
  141. File datafile = new File("D: \\data.txt");
  142. FileWriter fileWriter = new FileWriter(datafile, true);
  143. //打开文件
  144. PrintWriter printWriter = new PrintWriter(fileWriter);
  145. printWriter.println(new User(username, diffSec));
  146. printWriter.close();
  147. this.dispose();
  148. work w = new work();
  149. w.setVisible(true);
  150. }

五、课程设计感想

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

201521123110 java课程设计的更多相关文章

  1. java(课程设计之记事本界面部分代码公布)

    代码:涉及记事本的一些界面......!! /* *java课程设计之记事本(coder @Gxjun) * 编写一个记事本程序 * 要求: * 用图形用户界面实现. * 能实现编辑.保存.另存为.查 ...

  2. java课程设计(计算器)

    JAVA课程 设 计 报 告 1206401-18   瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...

  3. Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)

    #课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...

  4. Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)

    Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...

  5. java课程设计--We Talk(201521123061)

    java课程设计--We Talk(201521123061) 团队博客链接:http://www.cnblogs.com/slickghost/ 数据库 一.通过Dao模式建立与数据库的连接 1.数 ...

  6. Java 课程设计 "Give it up"小游戏(团队)

    JAVA课程设计 "永不言弃"小游戏(From :Niverse) 通过Swing技术创建游戏的登陆注册界面,使用mySQL数据库技术完成用户的各项信息保存和游戏完成后的成绩保存. ...

  7. Java课程设计----仿Windows标准型计算器

    JAVA课程设计 仿Windows标准型计算器(By Yanboooooooo) 一.团队介绍: 连燕波[组长]:网络1513学生. 张文博[组员]:网络1513学生. 二.项目git地址 码云项目地 ...

  8. Java课程设计—象棋

    1. 团队名称.团队成员介绍 团队名称:WY 团队成员: 吴慧婷[组长] 201521123094 网络1514 姚佳希 201521123042 网络1512 2 项目git地址 Java课程设计 ...

  9. Java课程设计——猜数游戏(201521123111 陈伟泽)

    Java课程设计--猜数游戏(201521123111 陈伟泽) 1.团队课程设计博客链接 博客作业--猜数游戏 2.个人负责模块或任务说明 Answer:一些基础界面的构造,排行榜的构造,用文件录入 ...

随机推荐

  1. MyBatis从入门到放弃六:延迟加载、一级缓存、二级缓存

    前言 使用ORM框架我们更多的是使用其查询功能,那么查询海量数据则又离不开性能,那么这篇中我们就看下mybatis高级应用之延迟加载.一级缓存.二级缓存.使用时需要注意延迟加载必须使用resultMa ...

  2. 突然兴起复习一下Swift3.0

    /// 参考Swift3.0.1文档 /// 摘录来自: Apple Inc. "The Swift Programming Language (Swift 3.0.1)". iB ...

  3. 使用JavaScript实现简单的双色球

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. js基础语法习题补充

    输入三个整数,x,y,z,最终以从小到大的方式输出. <<script> var x=prompt("请输入数字") var y=prompt("请输入 ...

  5. Attribute(特性)与AOP

    提到特性,好多人都会疑惑特性(attribute),和注释有什么区别,简单来说,特性是给机器看的,而注释是给人看的. 特性不仅可以影响编译还可以影响运行,而注释只是为了让人更加容易理解.看懂代码而特别 ...

  6. css的颜色表示,与透明度

    今天是第一天开始写博客.主要还是想着好记性不如烂笔头.每天学点什么就记下来,也防止以后再去百度.   今天主要是一些旧知识的整理,整理中看到原来写的代码对颜色的表示有用rgb的,有用rega的,有用# ...

  7. Could not establish trust relationship for the SSL/TLS secure channel 问题解决方法

    最近在写一个跟第三方对接的数据同步服务,在本地都没有问题,今天放到生产环境测试报错: System.Net.WebException: The underlying connection was cl ...

  8. 学习CSS记录:CSS文件引入到HTML中

    1.直接写在标签元素中,通常称为行间样式.(优先级较高,有悖于结构与表现的分离,建议不使用) 例:<body style="background:red;"></ ...

  9. Android检查更新下载安装

    检查更新是任何app都会用到功能,任何一个app都不可能第一个版本就能把所有的需求都能实现,通过不断的挖掘需求迭代才能使app变的越来越好.检查更新自动下载安装分以下几个步骤: 请求服务器判断是否有最 ...

  10. Ext.data.Store添加动态参数

    多条件查询页面的参数都是动态的,并且我们通常还会有默认加载页面.此时,动态添加参数非常重要,其中baseparam是解决问题的关键. @ 将查询条件定义为一个全局变量 var param_01 = & ...