• 课程Java实验 班级:201352 姓名:姬梦馨 学号:20135218 成绩: 指导教师:娄佳鹏 实验日期:15.06.03 实验密级: 预习程度: 实验时间: 仪器组次: 必修/选修:选修 实验序号:3 实验名称: Java猜数字游戏...

    课程:Java实验   班级:201352     姓名:姬梦馨  学号:20135218

    成绩:             指导教师:娄佳鹏   实验日期:15.06.03

    实验密级:         预习程度:             实验时间:

    仪器组次:          必修/选修:选修          实验序号:3

    实验名称:     Java猜数字游戏开发                                                     

    (姬梦馨、程涵小组)

     

     


     

     

    一、实验目的与要求:

    通过编写Java的应用系统综合实例——猜数字游戏,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。

     

    二、设备与环境

    硬件:MacBookAir

    软件:JDK 1.8.0; eclipse

     

    三、实验内容

    (1)实验需求分析:

    1.玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。 
    2.对玩家输入的数字进行判断大小,如果不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入,给出提醒以便玩家进一步选择。 
    3.  玩家猜中时系统给出所用时间和游戏水平的判断,系统给出是否继续的提示及判断。 4.系统根据您猜数字的次数,自动计数. 
    5.  直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.


    (2)功能模块详细设计 

    1.随机数的获取 

    功能描述:玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。 
     
    2 输入输出模块 
    功能描述:对玩家输入的数字进行判断和提示。如果玩家输入的不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入.。如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字太小请您重新输入。如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入。

    3 判断模块 

    功能描述:系统给出对其水平的判断和是否继续的提示;对玩家要求判断执行。  

      
    4 自动计数模块 
    功能描述:系统根据您猜数字的次数,自动计数. 
      

     

    5 结果输出模块 
    功能描述:直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.

     

     

     

    (3)代码如下图所示:

     

    代码:

    import java.util.InputMismatchException;

    import java.util.Scanner;  

     

    public class Main {

     

    public static void main(String[] args) {

                    // 产生一个随机数

    int number = (int) (Math.random() * 100) + 1; 

                     // 加入count

            int count = 0; 

                     // 在这里加入最大值,和最小值

            int max = 100;

            int min = 1; 

            while (true) {

            // 键盘录入数据

            Scanner sc = new Scanner(System.in);

            System.out.println("欢迎进入“猜数字游戏”");

            System.out.println("请输入你猜得数字:(" + min + "~" + max + ")");

            try {

            count++;

            int guessNumber = sc.nextInt();

            // 判断

            if (guessNumber > number) {

            max = guessNumber;

            System.out.println("猜大了");

            

            else if (guessNumber < number) {

            min = guessNumber;

            System.out.println("猜小了");

            

            else {

            System.out.println("恭喜你,只用了" + count + "次就猜中了!");

            // 问是否继续

            System.out.println("请问还要继续吗?(yes)");

            sc = new Scanner(System.in);

            String str = sc.nextLine();

            if ("yes".equals(str)) {

            // 重写赋值随机数

            number = (int) (Math.random() * 100) + 1;

            count = 0;

            max = 100;

            min = 1;

            

            else {

            break;

            }

            }

            

            catch (InputMismatchException e) {

            System.out.println("你输入的数据有误");

            }

            }

            }

    }

     

     

     

    (3).游戏运行结果截图

     

     

     

    四、实验结果及分析

    通过此次Java综合性实验,我对Java有了系统的了解。

    Java语言是现在最流行的编程语言之一,它具有面向对象、与平台无关、安全、多线程等特点。在此次实验中,使用Eclipse集成开发环境,编辑界面简单实用、易于修改。在编写程序开始遇到了很多问题,如:输入、输出时异常的抛出等,通过上网找资料都得到了解决。通过综合性实验的编写,引起了我对Java语言的很大兴趣,在今后的学习过程中讲进一步对Java进行系统、全面的了解与掌握。我会更加努力学好JAVA。

    转载于:https://www.cnblogs.com/ShadowStealer/p/4551515.html

    展开全文
  • 1. 团队名称、团队成员介绍 团队名称:breeze 团队成员 组长:网络1514张朝玮 201521123106 组员:网络1513侯帅军 201521123092 2. 项目git地址 https://git.oschina.net/mikotosaigou/javakechengshejicaishuyouxi ...

    1. 团队名称、团队成员介绍

    团队名称:breeze

    团队成员

    组长:网络1514张朝玮 201521123106
    组员:网络1513侯帅军 201521123092

    2. 项目git地址

    https://git.oschina.net/mikotosaigou/javakechengshejicaishuyouxi
    http://git.oschina.net/springbreezemiles/java201521123092/commits/master

    3. 项目git提交记录截图(要体现出每个人的提交记录、提交说明),老师将点击进去重点考核。

    1109886-20170622131626804-390600266.png
    1109886-20170622131520695-393440915.png

    4. 项目功能架构图与主要功能流程图

    1109886-20170622114611116-2076193637.png

    5. 项目运行截图

    1109886-20170622114628679-819101650.jpg
    1109886-20170622114657570-2094815667.png
    1109886-20170622114706804-1853940787.png

    6.项目关键代码(不能太多)

    猜数部分的主要算法代码

    1109886-20170622114725445-78721103.png

    排行榜模块代码

    1109886-20170622114734601-1505060182.png

    7.尚待改进或者新的想法

    增大排行榜的容量,现在只能允许存储前三名。

    8. 团队成员任务分配,团队成员课程设计博客链接,标明组长。

    张朝玮(组长):编写主界面以及排行榜代码,玩家信息的储存,排行榜界面设计。个人博客链接:http://www.cnblogs.com/paohui/p/7063967.html

    侯帅军(组员:猜数算法的设计及相关代码,团队博客编写。个人博客链接:http://www.cnblogs.com/springbreezemiles/p/7064257.html

    转载于:https://www.cnblogs.com/springbreezemiles/p/7064135.html

    展开全文
  • 1.团队课程设计博客链接 /http://www.cnblogs.com/ohanna/p/7064305.html 2.个人负责模块说明 1.进入界面; 2.成功玩家信息的录入; 3.信息的读出 3.个人代码提交记录 4.自己负责模块或任务详细说明 由进入界面进入...

    1.团队课程设计博客链接

    /http://www.cnblogs.com/ohanna/p/7064305.html

    2.个人负责模块说明

    1.进入界面;
    2.成功玩家信息的录入;
    3.信息的读出

    3.个人代码提交记录

    1109866-20170622213301866-827997808.png

    4.自己负责模块或任务详细说明

    由进入界面进入游戏

    1109866-20170622213342523-2146514164.png

    系统会产生随机数,用户输入所想数字与其比较

    1109866-20170622213705820-617646204.png

    当输入数字与随机数不同时,系统提示大小,相同时表明成功,显示所用次数

    1109866-20170622214303773-917027302.png

    录入成功玩家姓名并保存到文件

    1109866-20170622214325491-74817044.png

    生成成绩排行榜

    1109866-20170622214337351-1396961307.png

    5.课程设计感想

    这次课设虽然选择了比较简单的题目,但一开始可能因为没有明确的思路,进程一直很慢。然后团队合作意识也是特别重要的,成员虽然负责不同的部分,但是这个是一个项目,将成员的思想融合成一体很有难度也很重要。

    转载于:https://www.cnblogs.com/ohanna/p/7067326.html

    展开全文
  • 1.团队课程设计博客链接https://i.cnblogs.com/EditPosts.aspx?postid=7067843&update=1 ...5.课程设计感想这次课设虽然选择了比较简单的题目,但一开始可能因为没有明确的思路,进程一直很慢。然后...

    1.团队课程设计博客链接
    https://i.cnblogs.com/EditPosts.aspx?postid=7067843&update=1

    2.个人负责模块说明

    1. 判断数值
      2.排行版保存至文件

    3.个人代码提交记录

    4.自己负责模块或任务详细说明
    1判断数值大小




    5.课程设计感想
    这次课设虽然选择了比较简单的题目,但一开始可能因为没有明确的思路,进程一直很慢。然后团队合作意识也是特别重要的,成员虽然负责不同的部分,但是这个是一个项目,将成员的思想融合成一体很有难度也很重要。

    转载于:https://www.cnblogs.com/jbc1132/p/7068256.html

    展开全文
  • Java课程设计——猜数游戏(201521123111 陈伟泽) 1.团队课程设计博客链接 博客作业--猜数游戏 2.个人负责模块或任务说明 Answer:一些基础界面的构造,排行榜的构造,用文件录入用户名和实践,获取时间然后排行。 ...

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

    1.团队课程设计博客链接

    博客作业--猜数游戏

    2.个人负责模块或任务说明

    Answer:一些基础界面的构造,排行榜的构造,用文件录入用户名和实践,获取时间然后排行。
    1109885-20170622130012195-623573836.png

    3.自己的代码提交记录截图

    1109885-20170622110232070-990840477.png

    4.自己负责模块或任务详细说明

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

    (1)部分基础界面的构造
    使用netbeans进行部分界面的构造,例如排行榜排列的方式,用户名,所用时间以及退出。

    (2)排行榜的构造
    排行榜的构造应该跟开始游戏的输入和所用的时间有关联,同时应该录入猜中游戏后的用户名,录入文本文件后同时对此进行排序,得出排名。

    package game;
    
    import  java.io 
    
    .File;
    import  java.io 
    
    .FileInputStream;
    import  java.io 
    
    .FileNotFoundException;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Scanner;
    
    import javax.swing.JFrame;
    
    /**
     *
     * @author Administrator
     */
    public class paihang extends javax.swing.JFrame {
       
    private ArrayList<User> arrayList;
        /**
         * Creates new form paihang
         * @throws FileNotFoundException 
         */
        public paihang() throws FileNotFoundException {    
            initComponents();
            arrayList = new ArrayList<>();
            File datafile = new File("D: \\data.txt");
            Scanner scanner = new Scanner(new FileInputStream(datafile));
            while (scanner.hasNextLine()) {
             String string = scanner.nextLine();
             String[] strings = string.split(" ");
             arrayList.add(new User(strings[0], Long.parseLong(strings[1])));
            }
            
            Collections.sort(arrayList);
            
            for (int i = 0; i < arrayList.size(); i++) {
             String username = arrayList.get(i).username;
             String time = arrayList.get(i).time + "";
             if (i == 0) {
             jLabel4.setText(username);
             jLabel7.setText(time);
             } else if (i == 1) {
             jLabel6.setText(username);
             jLabel10.setText(time);
             } else if (i == 2) {
             jLabel5.setText(username);
             jLabel8.setText(time);
             } else {
             break;
             }
            }
    
            scanner.close();
            
        }                      
        private void initComponents() {
    
            label2 = new java.awt.Label();
            label4 = new java.awt.Label();
            label5 = new java.awt.Label();
            jLabel2 = new javax.swing.JLabel();
            jLabel3 = new javax.swing.JLabel();
            T = new javax.swing.JButton();
            jLabel4 = new javax.swing.JLabel();
            jLabel5 = new javax.swing.JLabel();
            jLabel6 = new javax.swing.JLabel();
            jLabel7 = new javax.swing.JLabel();
            jLabel10 = new javax.swing.JLabel();
            jLabel8 = new javax.swing.JLabel();
    
            setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    
            label2.setName("1"); // NOI18N
            label2.setText("1");
    
            label4.setText("2");
    
            label5.setText("3");
    
            jLabel2.setText("姓   名");
    
            jLabel3.setText("时   间");
    
            T.setText("退出");
            T.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    TActionPerformed(evt);
                }
            });
    
            jLabel4.setText("        ");
    
            jLabel7.setText("        ");
     private void TActionPerformed(java.awt.event.ActionEvent evt) {                                  
         GNB G=new GNB();
            G.setVisible(true);    
            this.setVisible(false);
     private javax.swing.JButton T;
        private javax.swing.JLabel jLabel10;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JLabel jLabel4;
        private javax.swing.JLabel jLabel5;
        private javax.swing.JLabel jLabel6;
        private javax.swing.JLabel jLabel7;
        private javax.swing.JLabel jLabel8;
        private java.awt.Label label2;
        private java.awt.Label label4;
        private java.awt.Label label5;
    
            package game;
    
    public class User implements Comparable<User> {
    String username;
    long time;
    
    public User(String username, long time) {
    this.username = username;
    this.time = time;
    }
    
    @Override
    public String toString() {
    return username + " " + time;
    }
    
    @Override
    public int compareTo(User o) {
    if (time < o.time) {
    return -1;
    } else if (time == o.time) {
    return 0;
    } else {
    return 1;
    }
    }
    }

    五、课程设计感想

    作为组长,不仅仅是负责好自己的模块,更重要的是团队的协调合作。分配好各自的任务,在解决任务的时候遇到问题,一起解决是一件很有趣的事情。虽然两个人做的课设相对简单一点,但是对于我们的水平来说也是个不小的挑战,两个人从一点不会使用netbeans到逐步会用,在对排行榜的时候一直翻书,百度,求教。而且时间也相对比较紧迫。无论结果,努力过,有收获就是美好的!

    转载于:https://www.cnblogs.com/yudi/p/7063528.html

    展开全文
  • 1.团队课程设计链接 团队博客:http://www.cnblogs.com/springbreezemiles/p/7064135.html 2.个人负责模块 猜数部分的算法及代码实现。 3.自己的代码提交记录截图 4.自己负责模块或详细任务说明 主要代码截图: 5....
  • 1.团队课程设计博客链接 http://www.cnblogs.com/m1ng123/p/7056740.html 2.个人负责模块或任务说明 (1)文件读取和文件的存储 (2)提示板块的窗口设计 (3)选择界面 (4)排行版 3.自己的代码提交记录截图 4....
  • 1. 团队名称,成员介绍 .../【课设】http://git.oschina.net/ohanna/java201521123104/commits/master 3. 项目git提交记录截图(要体现出每个人的提交记录、提交说明),老师将点击进去重点考核 4....
  • 很难引发兴趣,然后深入学习,个人认为主要原因是前期内容比较基础,而且无法看到效果,然后我根据每天的知识点,总结和开发了一些小功能,希望能提升同学的兴趣,更好理解当天内容,本篇博客介绍的猜数游戏,就是...
  • 可以提示在个十百千位中你猜对了几个数!菜鸟所写,高手别来...字符界面!
  • 题目三:猜数游戏 软件名:猜数游戏(分服务器端和客户端两部分) 功能:游戏后台运行一个服务器软件,游戏者通过客户端程序登陆后,服务器随机产生一个1—100之间的随机数供游戏者猜,游戏者从客户端输入一个数值...
  • 猜数游戏(GUI界面)

    2020-07-04 17:48:39
    程序自动生成一个介于1到100的随机数R,用户在文本框中输入一个整数M。当M>R时,程序在一个标签中显示信息“输入的整数太大”;当M时,程序在一个标签中显示信息“输入的整数太小”;当M=R时,程序在一个标签中显示...
  • 1.团队课程设计博客链接 http://www.cnblogs.com/m1ng123/p/7056740.html 2.个人负责模板或任务说明 猜数运行3个主界面即相关功能 玩家信息存储的play类 结束界面 排行榜规则制定 3.自己的代码提交记录截图 4.自己...
  • 一、 需求分析 1.玩家输入一个数字,数字的范围在1~100之间,系统自动随机获取。 2.对玩家输入的数字进行判断大小,如果不是正确答案,则系统给出或大或小提示,用户继续进行猜测。...课题:猜数游戏 本...
  • 本人学校里JAVA课程设计的一些题目,分享给大家,大家可以拿来练练手!1,课题:算术运算测试功能要求:该程序用字符界面实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算...
  • 一、需求分析 功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出...猜数游戏主界面应该分为三个,开始,退出,以及排行榜模块。开始游戏后要有输入和输出界面。当猜中游...
  • java课程设计--猜数字(团队博客) 1.团队名称以及团队成员介绍 团队名称:cz 团队成员:陈伟泽,詹昌锦 团队照片: 2.项目git地址 http://git.oschina.net/Devil299/java201521123111/tree/master/game 3.项目git...
  • 猜数游戏

    2020-06-27 16:46:36
    猜数游戏 项目简介 Java语言作为当今Internet上最流行的编程语言,它的产生自然与游戏密切相关。本次课程设计是为了配合Java程序设计课程,帮助学生深入学习和掌握Java语言,熟练运用这个工具而设立的课程。通过课程...
  • java课程设计阶段一

    2020-06-23 13:30:09
    3 系统设计… 4 3.1 系统设计… 4 4 系统实现… 6 4.1代码实现… 6 4.2 程序运行实现… 6 5结论和心得… 9 1 选题 选题一 算术运算测试 题目要求 功能要求:实现十道 100 以内加减法数学题,能根据题目计算出答案,...
1 2 3 4
收藏数 68
精华内容 27