Java流程控制—while循环的两个练习

/*
随机生成一个100以内的数,猜这个随机数是多少?

从键盘输入数,如果大了,提示大了;如果小了,提示小了;如果对了,就不在猜了,并统计一共猜了多少次。

提示:生成一个[a,b]范围的随机数的方式:(int)(Math.random() * (b - a + 1) + a)



*/
import java.util.Scanner;
class WhileTest1{
	public static void main(String[] args) {
		
		//1、生成一个[1,100]范围的随机整数。

        int random = (int)(Math.random() * 100) + 1;

		//2、使用Scanner,从键盘获取数据
        Scanner scan = new Scanner(System.in);
		System.out.print("请输入1-100范围内的一个整数:");
		int guess = scan.nextInt();

		//3、声明一个变量,记录猜的次数
		int guessCount = 1;
		//4、使用循环结构,进行多次循环的对比和获取数据
		while (random != guess){

			if (guess > random){
				System.out.println("你输入的数据大了");
			}else if (guess < random){
				System.out.println("你输入的数据小了");
			}/*else{
			   break;
			}*/

            System.out.print("请输入1-100范围内的一个整数:");
		    guess = scan.nextInt();
			guessCount++;
		}

		//能结束循环,就意味着random和guess相等了
		System.out.println("恭喜你!猜对了!");
		System.out.println("共猜了" + guessCount + "次");
        

		scan.close();
	}
}

运行结果如下:

 

/*
世界上最高山峰是珠穆朗玛峰,它的高度是8848.86米,假如我有一张足够大的纸,它的厚度是0.1毫米。
请问,我折叠多少次,可以折成珠穆朗玛峰的高度?
*/
class  WhileTest2 {
    public static void main(String[] args){
        
        //1、声明珠峰的高度、纸的默认厚度

        double paper = 0.1; //单位:毫米
        double zf = 8848860; //单位:毫米

        //2、定义一个变量,记录折纸的次数

        int count = 0;

        //3、通过循环结构,不断调整纸的厚度(当纸的厚度超过珠峰高度时,停止循环)
        while (paper <= zf){

            paper  *= 2;
            count++;
        }

        System.out.println("paper的高度为: " + (paper / 1000) + ",超过了珠峰的高度" + (zf / 1000));
        System.out.println("共折纸" + count + "次");
        
    }
}

运行结果如下:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值