Java练习——Random案例(猜数字)需求、分析、代码

简介: Random案例(猜数字)需求、分析、代码

案例:猜数字

需求:

程序会自动生成一个1~100之间的数字,使用程序实现猜出这个数字是多少?

当猜错的时候根据不同情况给出相应的提示:

如果猜的数字比真实数字大,提示你猜的数据大了;

如果猜的数字比真实数字小,提示你猜的数据小了;

如果猜的数字与真实数字相等,提示恭喜你猜对了

分析:

(1)要完成猜数字的游戏,首先要有一个要猜的数字,使用随机数生成该数字,范围1到100

(2)因为无法预知几次能够猜中,因此猜数字这个操作应该是反复进行的,需要使用循环,而while循环通常用于描述未知循环次数的循环

(3)使用程序实现猜数字,每次均要输入猜测的数字值,需要使用键盘录入实现

(4)比较输入的数字和系统产生的数据,需要使用分支语句,这里使用if…else…if格式,根据不同情况进行猜测结果显示,当猜中后使用break结束循环即可

完整代码:

importjava.util.Random;
importjava.util.Scanner;
publicclassRandomDemo{
publicstaticvoidmain(String[] args){
Randomr=newRandom();
intnumber=r.nextInt(100)+1;
while(true){
Scannersc=newScanner(System.in);
System.out.println("请输入你要猜的数字:");
intgetnumber=sc.nextInt();
if(getnumber>number){
System.out.println("你猜的数字"+getnumber+"大了");
    }elseif(getnumber<number){
System.out.println("你猜的数字"+getnumber+"小了");
    }else{
System.out.println("恭喜你猜对了!");
break;
    }
  }
    }
}

运行结果:

请输入你要猜的数字:98你猜的数字98大了请输入你要猜的数字:50你猜的数字50小了请输入你要猜的数字:60你猜的数字60小了请输入你要猜的数字:80你猜的数字80大了请输入你要猜的数字:70你猜的数字70大了请输入你要猜的数字:66你猜的数字66大了请输入你要猜的数字:63你猜的数字63大了请输入你要猜的数字:61你猜的数字61小了请输入你要猜的数字:62恭喜你猜对了!


相关文章
|
11天前
|
Java
在 Java 中捕获和处理自定义异常的代码示例
本文提供了一个 Java 代码示例,展示了如何捕获和处理自定义异常。通过创建自定义异常类并使用 try-catch 语句,可以更灵活地处理程序中的错误情况。
|
26天前
|
XML 安全 Java
Java反射机制:解锁代码的无限可能
Java 反射(Reflection)是Java 的特征之一,它允许程序在运行时动态地访问和操作类的信息,包括类的属性、方法和构造函数。 反射机制能够使程序具备更大的灵活性和扩展性
36 5
Java反射机制:解锁代码的无限可能
|
22天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
58 3
|
23天前
|
分布式计算 Java MaxCompute
ODPS MR节点跑graph连通分量计算代码报错java heap space如何解决
任务启动命令:jar -resources odps-graph-connect-family-2.0-SNAPSHOT.jar -classpath ./odps-graph-connect-family-2.0-SNAPSHOT.jar ConnectFamily 若是设置参数该如何设置
|
21天前
|
Java
Java代码解释++i和i++的五个主要区别
本文介绍了前缀递增(++i)和后缀递增(i++)的区别。两者在独立语句中无差异,但在赋值表达式中,i++ 返回原值,++i 返回新值;在复杂表达式中计算顺序不同;在循环中虽结果相同但使用方式有别。最后通过 `Counter` 类模拟了两者的内部实现原理。
Java代码解释++i和i++的五个主要区别
|
24天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
44 2
|
25天前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
14 2
|
8天前
|
Java 开发者
Java多线程编程中的常见误区与最佳实践####
本文深入剖析了Java多线程编程中开发者常遇到的几个典型误区,如对`start()`与`run()`方法的混淆使用、忽视线程安全问题、错误处理未同步的共享变量等,并针对这些问题提出了具体的解决方案和最佳实践。通过实例代码对比,直观展示了正确与错误的实现方式,旨在帮助读者构建更加健壮、高效的多线程应用程序。 ####
|
7天前
|
安全 Java 开发者
Java 多线程并发控制:深入理解与实战应用
《Java多线程并发控制:深入理解与实战应用》一书详细解析了Java多线程编程的核心概念、并发控制技术及其实战技巧,适合Java开发者深入学习和实践参考。
|
7天前
|
Java 开发者
Java多线程编程的艺术与实践####
本文深入探讨了Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的技术文档,本文以实战为导向,通过生动的实例和详尽的代码解析,引领读者领略多线程编程的魅力,掌握其在提升应用性能、优化资源利用方面的关键作用。无论你是Java初学者还是有一定经验的开发者,本文都将为你打开多线程编程的新视角。 ####
下一篇
无影云桌面