课程:Java实验   班级:201352     姓名:程涵  学号:20135210

成绩:             指导教师:娄佳鹏   实验日期: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。

实验三 Java猜数字游戏开发的更多相关文章

  1. java 猜数字游戏

    作用:猜数字游戏.随机产生1个数字(1~10),大了.小了或者成功后给出提示. 语言:java 工具:eclipse 作者:潇洒鸿图 时间:2016.11.10 >>>>> ...

  2. 从零开始学java(猜数字游戏)

    练练手不喜勿喷,看到什么学习什么第一次发博客格式就见见谅.....                                            2016-07-21 19:55:02 imp ...

  3. java猜数字游戏

    import java.util.Scanner; //导入包 class GuessNum { public static void main(String[] args) { int num = ...

  4. 三个猜数字游戏代码(Python)

    def binary_search(list,item): low = 0 high = len(list)-1 while low <= high: mid = (low + high)//2 ...

  5. java实现登录的验证码和猜数字游戏_图形化界面

    实验任务四 1,出现设计思想 (1)先定义文本框.密码框和验证码框的组件 (2)定义面板和按钮的个数 (3)定义公有的虚构方法,通过对象实例化来调用 (4)利用Random类来实现生成0-9的随机数 ...

  6. Java完成简单猜数字游戏v2.0

    猜数字游戏v2.0 优化了获取随机数.输入数据超出边界值的代码,并增加了异常处理,能够在玩家输入错误数据错误时给出可靠指引,希望对和我一样的新人有帮助, 最后希望有大神愿意帮我解决代码优化的问题,谢谢 ...

  7. java使用for循环做猜数字游戏

    package org.llh.test;import java.util.Random;import java.util.Scanner;/** * 猜数字游戏 *  * @author llh * ...

  8. 猜数字游戏 在控制台运行--java详解!了;来玩

    import java.util.Scanner;//导入包 import java.util.Scanner; 注意格式 符号的使用 public class Demo{ //猜数字游戏 练习 pu ...

  9. java & python猜数字游戏对比

    1.java版 package day03; import java.util.Random;import java.util.Scanner; /** * 猜数字游戏 * 随机生成一个1-100之间 ...

随机推荐

  1. 12 Bit ADC与LSB的含义

    [转]12 Bit ADC与LSB的含义 LSB(Least Significant Bit),意为最低有效位:MSB(Most Significant Bit),意为最高有效位,若MSB=1,则表示 ...

  2. iOS 单例模式简单实例

    单例模式主要实现唯一实例,存活于整个程序范围内,一般存储用户信息经常用到单例,比如用户密码,密码在登录界面用一次,在修改密码界面用一次,而使用单例,就能保证密码唯一实例.如果不用单例模式,init 两 ...

  3. Linux服务-ftp

    目录 1. ftp简介 2. ftp架构 3. ftp数据连接模式 4. 用户认证 5. vsftpd 5.1 vsftpd安装 5.2 vsftpd配置 5.3 vsftpd实验配置 5.3.1 安 ...

  4. Scala_类和对象

    类是对象的抽象,而对象是类的具体实例.类是抽象的,不占用内存,而对象是具体的,占用存储空间. import scala.beans.BeanProperty class ChecksumAccumul ...

  5. Verilog 奇数分频

    代码: module odd_div( ); ; //分频系数,3即3分频 ; reg clk, rstn, clk_div_pos, clk_div_neg; wire clk_div_out; : ...

  6. 用NI的数据采集卡实现简单电子测试之1——USB-6009简介

    本文从本人的163博客搬迁至此. 几年以来,一直担任学校“虚拟仪器”课程教师.以前上课都以介绍LabVIEW编程为主,硬件实验一直没有开展.这次借“西部高校实力提升工程”的机会,学院采购了一批NI的数 ...

  7. 2017-2018-1 20155209 实现mypwd

    2017-2018-1 20155209 实现mypwd 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 首先使用 ...

  8. 20155211 Exp1 PC平台逆向破解(5)M

    20155211 Exp1 PC平台逆向破解(5)M 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入 ...

  9. WPF设置全局字体和字体嵌入

    原文:WPF设置全局字体和字体嵌入 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/CLeopard/article/details/40590373 ...

  10. python基础学习1-正则表达式

    #!/usr/bin/env python # -*- coding:utf-8 -*- import re print(re.findall('alex','yyyyabbblalexrrreooo ...