一、需求分析

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

二、本组课题及本人任务

•码云截图:

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

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

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

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

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);
}

五、课程设计感想

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

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. php面试题汇总三(基础篇附答案)

    问题 1. 如何访问会话变量(session)? A.通过$_GET B.通过$_POST C.通过$_REQUEST D.通过全局变量 E.以上都不对 2. 哪个函数能让服务器输出如下 header ...

  2. Netty SSL安全配置

    Netty SSL安全配置 [TOC] 摘要 在研发蜂鸟部署平台的过程中,涉及到平台网关和前置agent的通信加密,虽然目前软件在内网中,但是由于蜂鸟平台和agent的特殊性,一旦被控制,部署的软件就 ...

  3. 【Spring】整合SpringMVC、MyBatis

    在使用xml配置方式的最佳整合方式: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns= ...

  4. Win7怎么显示文件的后缀名

    Win7怎么显示文件的后缀名.. --------------- -------------- --------------- -------------- --------------- ----- ...

  5. Python使用MySQL数据库(新)

    之前写过一篇 Python使用MySQL数据库的博客,主要使用的是Python2和MySQLdb驱动. python使用mysql数据库 然而,2016年开始,我从Python2切换到了Python3 ...

  6. SpringMVC入门第二天

    SpringMVC第二天 1.   回顾 1.Springmvc介绍? Springmvc是Spring公司 2.Springmvc入门程序 第一步:Web工程 第二步:导Jar包 第三步:web.x ...

  7. 学习js函数--自执行函数

    我在写代码时候经常会在tpl的<script>里写类似的代码: $(function(){ alert("我好饿"); }); 刚开始的时候只知道写了它不需要调用,直接 ...

  8. [C#] .Net Core 全局配置读取管理方法 ConfigurationManager

    最近在学习.Net Core的过程中,发现.Net Framework中常用的ConfigurationManager在Core中竟然被干掉了. 也能理解.Core中使用的配置文件全是Json,不想F ...

  9. RobotFramework自动化测试框架-移动手机自动化测试Input Text和Click Button关键字的使用

    Input Text和Click Button Input Text 关键字一般用来给输入框进行输入操作,该关键字接收两个参数[ locator | text ]. 示例1:启动安卓手机上一个APP的 ...

  10. 【1414软工助教】团队作业6——展示博客(Alpha版本) 得分榜

    题目 团队作业6--展示博客(Alpha版本) 作业提交情况情况 为所欲为 团队没有提交,其余都按时提交. 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目2: ...