/*
需求:程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?
当猜错的时候根据不同情况给出相应的提示
如果猜的数字比真实数字大,提示你猜的数据大了
如果猜的数字比真实数字小,提示你猜的数据小了
如果猜的数字与真实数字相等,提示恭喜你猜中了
1. 准备Random和Scanner对象, 分别用于产生随机数和键盘录入
2. 使用Random产生一个1-100之间的数, 作为要猜的数
3. 键盘录入用户猜的的数据
4. 使用录入的数据(用户猜的数据)和随机数(要猜的数据)进行比较, 并给出提示
5. 以上内容需要多次进行, 但无法预估用户输入几次可以猜测正确, 使用while(true)死循环包裹
6. 猜对之后, break结束.
*/
import java.util.Scanner;
import java.util.Random;
public class Day0316Test {
public static void main(String[] args){
// 1. 准备Random和Scanner对象, 分别用于产生随机数和键盘录入
Random r = new Random();
Scanner sc = new Scanner(System.in);
// 2. 使用Random产生一个1-100之间的数, 作为要猜的数
int randomNum = r.nextInt(100) + 1;
//System.out.println(randomNum);
// 5. 以上内容需要多次进行, 但无法预估用户输入几次可以猜测正确, 使用while(true)死循环包裹
while(true){
// 3. 键盘录入用户猜的的数据
System.out.println(" 请输入您猜的数据: ");
int num = sc.nextInt();
// 4. 使用录入的数据(用户猜的数据)和随机数(要猜的数据)进行比较, 并给出提示
if(num > randomNum){
System.out.println(" 猜大了");
}else if(num < randomNum){
System.out.println(" 猜小了 ");
}else{
//6. 猜对之后, break结束.
System.out.println(" 恭喜,猜中了");
break;
}
}
System.out.println("感谢您的使用");
}
}
目录 一、设计任务与要求 1 1.1 设计任务与要求 1 1.2 选题目的与意义 2 二、需求分析 2 2.1 用户需求分析 2 2.2 开发环境分析 3 三、系统设计 4 3.1 系统总体设计 4 3.2 功能模块设计 4 3.3 类的设计 5 四、
程序
实现 8 4.1
程序
流程图 8 4.2 关键算法与技术实现 9 4.2.1 游戏菜单设置的具体算法 9 4.2.2
生成
随机数
的具体算法 9 4.2.3 比较
数字
大小的具体算法 10 4.2.4 记录与清除成绩的具体算法 11 4.2.5 清空成绩的具体算法 12 4.2.6 错误跳转的具体算法 13 五、测试运行 18 5.1 系统测试方案 18 5.2 运行结果分析 18 六、设计体会 22 一、设计任务与要求 1.1 设计任务与要求 通过本课程设计实践,达到以下目的: (1)培养学生严谨务实的工作态度,并在老师的指导下,提高分析问题和解决问题的 能力,促进理论联系实际学风养成。 (2)巩固和加深对面向对象
程序
设计的基本概念、基本理论和实现技术的理解。 (3)掌握
Java
开发的主要环境与工具,掌握面向对象的常用控件的
使用
方法。 (4)初步掌握面向对象系统分析与设计的基本方法和步骤,并能针对简单的实际应用 问题进行初步地分析和设计。 (5)掌握
Java
编程语言,并针对具体应用问题进行编程实现。 (6)通过撰写课程设计论文,锻炼学生科技论文写作能力。 具体任务如下: 设计
一个
猜
数字
游戏,使该游戏实现比较
数字
大小等功能,并给予用户游戏的喜悦感 。 具体的游戏规则如下: 1). 输入
一个
数字
,
数字
的范围再0-99
之间
,系统
随机
生成
数也在此范围内. 2).如果玩家输入的不是系统要求的
数字
,系统将报错,并继续提示用户:请输入在 0~99
之间
的
数字
. 3).如果玩家输入的
数字
与
随机
生成
数相比较,比
随机
生成
数小.系统提示您:您输 入的
数字
偏小,请您重新输入. 4). 如果玩家输入的
数字
与
随机
生成
数相比较,比
随机
生成
数大.系统提示您:你输入的
数字
偏大,请您重新输入. 5).系统根据您
猜
数字
的次数,自动计数,并在用户完成游戏时显示该次游戏的
猜
数 次数和游戏评语. 6).除了
猜
数过程,用户可以在想退出的情况下
之间
输入退出口令,或者显示答案口 令来完成该次游戏,亦可查询以往的游戏记录并清除游戏记录。 1.2 选题目的与意义
Java
语言作为当今 INTERNET上最流行的编程语言,它的产生自然与游戏密切相关. 本课程设计是为了配合
Java
程序
设计课程,帮助学生深入学习掌握
Java
语言,熟练运用 这个工具而设立的课程。通过课程设计各个项目的综合训练,加强学生对
JAVA
语言的理 解,检验学生对专业理论知识理解与掌握的程度,锻炼学生综合运用
JAVA
程序
设计处理 所学的知识实际分析问题、解决问题的能力。 通过对
猜
数游戏
程序
设计的学习,使学生掌握网络编程的基本方法,能够根据现实生 活实践编制出一些实用的小
程序
.为进一步学习网站信息的建设打下基础. 此学习过程中,一方面巩固了学生的
JAVA
程序
设计的应用,加深对
JAVA
语言的掌握 及对面向对象
程序
设计基本思想的理解,提高对面向对象技术的具体应用;另一方面,
猜
数游戏可以通过
JAVA
设计展现其娱乐性,游戏简单易懂,容易操作上手。 二、需求分析 2.1 用户需求分析 游戏
随机
自动生成
一个
随机数
random number即0~99(包括0和99)的整
数字
,然后让用户
猜
是什么
数字
。用户可以随便
猜
一个
数字
,游戏会提示太大还是太小,从而缩小
猜
数范围。经过几次
猜
测与提示后,直至
猜
到,给出所用
猜
数次数和评语最终退出游戏。在游戏过程中。记录用户最终
猜
对时所需 要的次数。游戏结束后公布结果。 具体要求:通过菜单栏里提供的选项,进入游戏界面。系统提示
猜
数字
游戏的运行情 况,一般情况下为正常,随即游戏者可以输入自己的
猜
数结果,可以通过按回车键完成 输入。每次完成一次游戏时,给出
猜
测的次数的统计。按其他选项还可以选择退出游戏 ,查询答案,查询游戏记录,清除游戏记录。 游戏中要求完成一下内容: 1)要求记录产生的
随机数
并计算用户
猜
数次数、并完成提示玩家游戏信息等功能; 2)要求在玩家输入不是
数字
或输入范围不符合时会提示错误信息; 3)要求能判断
程序
随机
生成
数字
与用户
猜
的
数字
的大小,玩家
猜
的
数字
偏大于
随机
生成
数就提示"您
猜
的
数字
偏大,请重新输入"或玩家
猜
的
数字
偏小于
随机
生成
数就提示 "您
猜
的
数字
偏小,请重新输入"; 4)要求在玩家
猜
对的时候,提示信息"
猜
对啦!",并统计玩家
猜
数次数,反馈给玩 家; 5)要求在玩家发出"enter"口令时能进入游戏; 6)要求在玩家发出"answer"口令时能显示该次游戏的答案; 7)要求在玩家发出"record"口令时能显示以往游戏中的最好成绩;
a = input('请输入三个
数字
用空格隔开:').split() # 将输入的数分割,作为单独的
数字
存在
li = list(map(int, a)) # 由于input的类型是str,参与计算的是int或者float,要依次进行强转
def sum_num(a): # 求和函数
sum_num = sum(a)
print(f'和为{sum_num}')
1、
使用
Math类中的random()方法获取
一个
随机数
,经过转换得到1-
100
之间
的数 random
2、
键盘
录入
猜
的数据 number
3、将我们
猜
的数据与
随机
生成
的数据进行比较
number > random:
猜
的
数字
大了
number < random:
猜
的
数字
小了
编写
一个
Java
应用
程序
,在主类的 main 方法中实现下列功能。
1)
程序
随机
分配给用户
一个
1 至
100
之间
的整数
2)用户通过
键盘
输人自己的
猜
测
3)
程序
返回提示信息,提示信息分别是:“
猜
大了”、“
猜
小了”和“
猜
对了”
4)如果输入的不是
数字
,提示并退出
5)如果输入的
数字
超过
100
,提示:“超过要求范围”
6)用户可根据提示信息再次输入
猜
测,直到提示信息是“
猜
对了”
7)用户
猜
对以后,显示
猜
测次数,并提供“重新开始”和“退出”功能
import
java
.util.Random;//引用
生成
srand(unsigned(time(NULL)));//解除
随机数
限制 ,用到 ctime与 cstdlib头文件
for(int i=1; i<=
100
; i++)
cout<<setw(3)<<r.
引入问题:
随机
生成
一个
数字
1-
100
的
随机数
字,用户输入
猜
的
数字
,如果大了,提示
猜
的
数字
过大,如果小了,提示
猜
的
数字
过小,如果
猜
对了,提示
猜
对了,并显示总共
猜
了多少次。请你编写
一个
程序
,完成此
猜
数字
游戏。
思考1:解决这个问题的方法有很多,由于最近较多的接触递归思想,选择了用递归的方法来做。
import random
number= random.randint(1,
100
)
def myfunction():
global number#设置
一个
全局变量number,这样可以让他不参与递归,但也
Java
猜
数字
游戏
随机
生成
一个
100
以内的数,
猜
这个
随机数
是多少?从
键盘
输入数,如果大了,提示大了;如果小了,提示小了;如果对了,就不再
猜
了,并统计一共
猜
了多少次。
for i in range(101):
user_num = int(input("请
猜
一个
0到
100
之间
的
数字
:"))
if user_num > target_num:
print("您输入的
数字
过高,请重新输入。")
elif user_num < target_num:
print("您输入的
数字
过低,请重新输入。")
else:
print("恭喜您,
猜
对了!")
break
该代码中,
使用
`random`模块
生成
一个
0到
100
之间
的
随机数
`target_num`。然后
使用
`for`循环提示用户输入
数字
,并通过`if-elif-else`语句判断用户输入的
数字
与`target_num`的大小关系,给出相应的提示。如果用户
猜
对了,
程序
会输出恭喜语句并跳出循环。如果用户未在
100
次内
猜
对,
程序
也会自动跳出循环。