您的位置:首页 > 其它

猜数字小游戏

2016-10-30 16:14 148 查看
猜数字小游戏

知识点:

随机数Random类

if、循环

猜数字小游戏代码实现

猜数字游戏需求

1:生成随机数

2: if语句进行条件判断

  3: for循环结构

 添加新的业务逻辑

随机数Random类

A: Random类

 a: 功能

 生成随机数需要使用到引用类型随机数Random类

b: 使用方式

import导包:所属包java.util. Random

创建实例格式:Random  random = new Random ();

调用方法

  nextInt(int maxValue)
产生[0,maxValue)范围的随机数,包含0不包含maxValue

nextDouble()  产生[0,1)范围的随机数

如:

Random  random = new Random ();

int  myNumber = random.nextInt(100);//结果为0-99的一个数

B: 案例代码

/*

引用数据类型:Random随机数

java.util.Random

方法:

nextInt(int maxValue)
产生[0,maxValue)范围的随机数

nextDouble()  产生[0,1)范围的随机数

求1-100的随机数:random.nextInt(100)+1

附加题:求m到n的随机数

*/

//导包

import java.util.Random;

public class Demo01Random {

public static void main(String[] args) {

//创建对象

Random random = new Random();

//调用方法

int randomNumber = random.nextInt(100)+1;

System.out.println(randomNumber);

double randomNumber2 = random.nextDouble();

System.out.println(randomNumber2);

}

}

if

A: if条件判断语句

  a: 方式一

  1: 书写格式

if(比较表达式) {

语句体;

}

2:执行流程:

先计算比较表达式的值,看其返回值是true还是false。

如果是true,就执行语句体;

  如果是false,就不执行语句体;

b: 方式二

1: 书写格式

if(比较表达式) {

语句体1;

}else {

语句体2;

}

 2:执行流程:

首先计算比较表达式的值,看其返回值是true还是false。

如果是true,就执行语句体1;

  如果是false,就执行语句体2;

c: 方式三

1: 书写格式

if(比较表达式1) {

语句体1;

}else if(比较表达式2) {

语句体2;

}else if(比较表达式3) {

语句体3;

}

...

else {

语句体n+1;

}

  2:执行流程:

首先计算比较表达式1看其返回值是true还是false,

如果是true,就执行语句体1,if语句结束。

如果是false,接着计算比较表达式2看其返回值是true还是false,

如果是true,就执行语句体2,if语句结束。

如果是false,接着计算比较表达式3看其返回值是true还是false,

如果都是false,就执行语句体n+1。

  B: 案例代码

/*

if语句:条件判断语句

格式:满足条件就执行对应的语句

if(条件表达式){

  执行语句;

}else if(条件表达式){

执行语句;

}else {

执行语句;

}

*/

import java.util.Random;

public class Demo02If{

//判断小明的得分情况,如果是90-100分,就打印太棒了

//如果60-89分,就打印还不错

//其他情况,就打印 什么情况?~

public static void main(String[] args) {

//产生随机分数

int score = random.nextInt(101);

System.out.print(score);

//开始条件判断

if(score>=90&&score<=100){

System.out.println("太棒了");

}else if(score>=60&&score<=89){

System.out.println("还不错");

}else {

System.out.println("什么情况?!");

}

}



循环

* A: 循环

* a:  需求:我们需要在用户输错时,让用户再次输入,让用户输入的动作循环执行。这时需要使用到循环语句

* b: 分类

* for循环结构

* while循环结构

* do while循环结构

* c: 循环的重要组成部分

* 循环变量初始化 (初始化表达式)

* 循环出口(布尔表达式)

* 循环增量(步进表达式)

* 循环逻辑内容(循环体)

* B: for循环

* a: 书写格式

for(初始化表达式①;布尔表达式②;步进表达式④){

循环体③

}

* b: 执行顺序

* ①②③④>②③④>②③④… ②不满足为止。

* ①负责完成循环变量初始化

* ②负责判断是否满足循环条件,不满足则跳出循环

* ③具体执行的语句

* ④循环后,循环条件所涉及变量的变化情况

* 举例:

for(int i=0; i<10; i++) {

System.out.println(“我爱Java”+i);

}

//会从0-9输出10次“我爱Java”

* C: 案例代码

/*

循环:

for/while/doWhile

循环满足条件:

初始化表达式

布尔表达式

步进表达式

循环体

for(初始化表达式;布尔表达式;步进表达式){

循环体

}

初始化表达式执行一次

布尔表达式   循环体   步进表达式   循环执行  直到布尔表达式条件不满足

break:直接跳出循环

*/

public class Demo03For {

public static void main(String[] args) {

//使用for循环,循环10次

for(int i=0; i<10; i++){

//每次打印我爱java字符串并且打印当前次数

System.out.println("i love java!"+i);

//使用break关键字,在第六次打印结束后跳出循环

if(i == 5) {

break;

}

}

}

}

###05猜数字小游戏代码实现

* A: 猜数字小游戏

* a: 分析

* 用户给的数可能大于、小于、或等于被猜的数,这样就会出现三种情况,用前面讲的三元运算符可以实现,

但是得用三元运算符的嵌套,比较麻烦!可以用更简单的方式if条件判断,可以有三个以上的条件

* b: 需求分析

* 后台预先生成一个随机数1-100,用户键盘录入猜数字

* 如果猜对了,打印“恭喜您,答对了”

* 如果猜错了

* 猜大了:打印“sorry,您猜大了!”

* 猜小了:打印“sorry,您猜小了!”

直到数字猜到为止

最多只能猜5次,否则提示“sorry,您没有机会了!”

* B: 案例代码

/*

猜数字小游戏

完成猜数字小游戏:

1、产生随机数

后台预先生成一个随机数1-100,用户键盘录入猜数字

2、通过if语句对用户猜的数与随机数进行比较

如果猜对了,打印“恭喜您,答对了”

如果猜错了

猜大了:打印“sorry,您猜大了!”

猜小了:打印“sorry,您猜小了!”

3、通过for循环完成用户猜数的循环

直到数字猜到为止

最多只能猜5次,否则提示“sorry,您没有机会了!”

*/

import java.util.Random;

import java.util.Scanner;

//通过*的方式可以一次导入该包下所有的类,但是不建议使用。建议使用哪个导哪个。

//import java.util.*;

public class GuessNumber{

public static void main(String[] args) {

//1、产生随机数

//后台预先生成一个随机数1-100,用户键盘录入猜数字

//创建随机数对象

Random random = new Random();

//产生一个1-100的随机数

int randomNumber = random.nextInt(100)+1;

//System.out.println("我产生的随机数是:"+randomNumber+"你猜猜是多少?");  作弊专用

//产生控制台录入的Scanner对象

Scanner sc = new Scanner(System.in);

//3、通过for循环完成用户猜数的循环

//通过for循环完成猜数字逻辑

for(int i=1; i<=5; i++){

//提示用户输入要猜的数,用变量接收

System.out.println();

System.out.println("请您输入一个1-100的数:");

int guessNumber = sc.nextInt();

//2、通过if语句对用户猜的数与随机数进行比较

//如果猜对了

if(guessNumber==randomNumber) {

//打印猜对后的提示

System.out.println("恭喜您,猜对了!");

//跳出循环,不用再猜了

break;

}else {//如果猜错了

//如果猜大了

if(guessNumber>randomNumber) {

System.out.println("sorry,您猜大了!");

}else {//如果猜小了

System.out.println("sorry,您猜小了!");

}

}

//如果猜到了最后的第5次仍然没有猜对就跳出循环

if(i==5) {

System.out.println("对不起,点太背,下次再来吧!");

break;

}

//每次猜错后,都提示还有多少次机会

System.out.println("请注意,您还有"+(5-i)+"次机会,请慎重作答!");

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  游戏 random