随机产生一个1-100之间的整数,看能几次猜中。
要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”。
难度指数:★★★
方法:使用Math类,Math.random()
解题思路分析:
1.使用Scanner类,从控制台输入一个1-100的随机整数,保存到number变量。
2.使用Math类,创建1-100的随机整数,保存到randomNumber变量。
3.使用for循环,设置最多循环七次,循环七次后正常结束,否则未循环七次是break跳出循环.
4.使用if选择结构,判断1-100的随机整数ramdomNumber与number是否相同。
如果number等于randomNumber,break跳出fou循环;
如果number大于randomNumber,提示猜大了,并进入下一次for循环;
如果number小于randomNumber,提示猜小了,并进入下一次for循环。
注意事项:
在声明了全局变量number后,一定要在for循环后写入number变量,用于循环时从键盘接收数据;
如过for循环内没有number变量接受数据,则程序出错,只在声明number变量赋值时接收一次数据。
代码如下:
package cn.work.home;
import java.util.Scanner;
public class Text03 {
public static void main(String[] args) {
/*
* 随机产生一个1-100之间的整数,看能几次猜中。
* 要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”。
*
* 难度指数:★★★
*
* 方法:使用Math类,Math.random()
*
* 解题思路分析:
* 1.使用Scanner类,从控制台输入一个1-100的随机整数,保存到number变量。
* 2.使用Math类,创建1-100的随机整数,保存到randomNumber变量。
* 3.使用for循环,设置最多循环七次,循环七次后正常结束,否则未循环七次是break跳出循环.
* 4.使用if选择结构,判断1-100的随机整数ramdomNumber与number是否相同。
* 如果number等于randomNumber,break跳出fou循环;
* 如果number大于randomNumber,提示猜大了,并进入下一次for循环
* 如果number小于randomNumber,提示猜小了,并进入下一次for循环
* 注意事项:在声明了全局变量number后,一定要在for循环后写入number变量,用于循环时从键盘接收数据;
* 如过for循环内没有number变量接受数据,则程序出错,只在声明number变量赋值时接收一次数据
*/
//1.使用Scanner类,从控制台输入一个1-100的随机整数,保存到number变量。
Scanner in = new Scanner(System.in);
System.out.println("请输入1-100之间的整数:");
int number = in.nextInt();
//2.使用Math类,创建1-100的随机整数,保存到randomNumber变量。
int randomNumber = (int)(Math.random() * 100 + 1);
//3.使用for循环,设置最多循环七次,循环七次后正常结束,否则未循环七次是break跳出循环.
for(int i = 1; i <= 7; i++){
//使用if选择结构,判断1-100的随机整数ramdomNumber与number是否相同。
if(number == randomNumber){
System.out.println("恭喜你,第"+i+"次猜对了");
break;
}else if(number > randomNumber){
System.out.println("第"+i+"次猜大了!!!");
}else if(number < randomNumber){
System.out.println("第"+i+"次猜小了!!!");
}
if(i == 7){
System.out.println("第七次,程序结束!!!");
}
System.out.println("请输入1-100之间的整数:");
number = in.nextInt();
}
}
}