while 循环练习

package com.practise;

import java.util.Random;
import java.util.Scanner;

/**
 * while循环
 */
public class base02 {
    public static void main(String[] args) {
        //1. 需求:通过while循环打印10遍"Hello World"
        //2. 需求:打印1~100之间(含1和100)所有的整数。
        //3. 需求:打印出来100以内所有的偶数。
        //4. 需求:求100以内所有奇数的和。
        //5. 需求:在控制台打印出所有的水仙花数。水仙花数:是一个三位数,水仙花数的个位、十位、百位数字的立方之和等于原数
        //6. 需求:产生5个[10, 80]之间的随机数,输出产生的数,并求出最大的随机数。
        //7.需求:限定用户输入内容。提示用户输入1~7(含1和7)之间的数字。如果用户输入的数字范围不在1~7之内,让用户重新输入,直到用户输入的数字符合要求。
        //8.需求:输入一个整数,判断是几位数。
        //9.需求:世界上最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如有一张足够大的纸,它的厚度是0.1毫米。请问折叠多少次,可以折成珠穆朗玛峰的高度
        //10. 需求:生成2个[10, 20]之间的随机数,如果生成的2个数不相等,再重新生成,直到2个数相等。
        //11.需求:如果你是一个富二代,你有10亿元(1000000000),每天花一半,多天可以花完。
        //----------------------------------------------第一题-----------------------------------------------------------
        //1. 需求:通过while循环打印10遍"Hello World"
//        int i = 1;
//        while (i<=10){
//            System.out.println("第"+ i + "次 " + "hello world");
//            //不添加i++容易出现死循环
//            i++;
//        }
        //----------------------------------------------第2题-----------------------------------------------------------
        //2. 需求:打印1~100之间(含1和100)所有的整数。
//        int i = 1;
//        while (i<=100){
//            System.out.println(i);
//            i++;
//        }
        //----------------------------------------------第3题------------------------------------------------------------
        //3. 需求:打印出来100以内所有的偶数。
//        int i = 1;
//        while (i<=100){
//            if (i % 2 == 0){
//                System.out.println(i);
//            }
//            i++;
//        }
        //----------------------------------------------第4题------------------------------------------------------------
        //4. 需求:求100以内所有奇数的和。
//        int i = 1;
//        int sum = 0;
//        while (i <= 100){
//            if (i % 2 != 0){
//                sum += i;
//            }
//            i++;
//        }
//        System.out.println("sum="+sum);
        //----------------------------------------------第5题------------------------------------------------------------
        //5. 需求:在控制台打印出所有的水仙花数。水仙花数:是一个三位数,水仙花数的个位、十位、百位数字的立方之和等于原数
//        int i =100;
//        while (i<1000){
//            int ge = i % 10;
//            int shi = i / 10 % 10;
//            int bai = i /100;
//            if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i){
//                System.out.println(i);
//            }
//            i++;
//        }
        //----------------------------------------------第6题------------------------------------------------------------
        //6. 需求:产生5个[10, 80]之间的随机数,输出产生的数,并求出最大的随机数。
//        Random r = new Random();
//        int max = 0;
//        for (int i = 0; i <= 5; i++) {
//            int num = r.nextInt(80-10+1)+10;
//            System.out.print(num + " ");
//            if(num > max){
//                max = num;
//            }
//        }
//        System.out.println("max="+max);
        //while循环做法
//        int i = 1;
//        while (i<= 5){
//            int num = r.nextInt(80-10+1)+10;
//            System.out.print("num="+num + " ");
//            if (num > max){
//                max = num;
//            }
//            i++;
//        }
//        System.out.println();
//        System.out.println("max=" + max);
        //----------------------------------------------第7题------------------------------------------------------------
        //7.需求:限定用户输入内容。提示用户输入1~7(含1和7)之间的数字。如果用户输入的数字范围不在1~7之内,让用户重新输入,直到用户输入的数字符合要求。
//        Scanner sc = new Scanner(System.in);
//        System.out.println("请输入1~7(含1和7)之间的数字:");
//        int i = 1;
//        while (i<=7){
//            int num = sc.nextInt();
//            System.out.println("num = "+ num + " ");
//            if (num > 7){
//                System.out.println("请重新输入");
//            }else {
//                System.out.println("结束");
//                break;
//            }
//            i++;
//        }
        //----------------------------------------------第8题------------------------------------------------------------
        //8.需求:输入一个整数,判断是几位数。
//        Scanner sc = new Scanner(System.in);
//        System.out.println("请输入一个整数:");
//        int count = 0;
//        int num = sc.nextInt();
//        while (num != 0){
//           num = num / 10 ;
//           count++;
//        }
//        System.out.println("这个整数是一个" + count + "位数");
        //----------------------------------------------第9题------------------------------------------------------------
        //9.需求:世界上最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如有一张足够大的纸,它的厚度是0.1毫米。请问折叠多少次,可以折成珠穆朗玛峰的高度
//        double h = 0.1;
//        int count = 0;
//        while (h <= 8844430){
//            h *= 2;
//            count++;
//        }
//        System.out.println("折了"+ count +" 次");
        //----------------------------------------------第9题------------------------------------------------------------
        //10. 需求:生成2个[10, 20]之间的随机数,如果生成的2个数不相等,再重新生成,直到2个数相等。
//        Random r = new Random();
//        int num1 = r.nextInt(20-10+1)+10;
//        int num2 = r.nextInt(20-10+1)+10;
//        System.out.println("num1=" + num1 +" ,"+ "num2=" + num2);
//        while (num1 != num2){
//            num1 = r.nextInt(20-10+1)+10;
//            num2 = r.nextInt(20-10+1)+10;
//            System.out.println("num1=" + num1 +" ,"+ "num2=" + num2);
//        }
        //----------------------------------------------第10题------------------------------------------------------------
        //11.需求:如果你是一个富二代,你有10亿元(1000000000),每天花一半,多天可以花完。
        int l = 1000000000;
        int day = 0;
        while (l != 0){
            l /= 2;
            day++;
        }
        System.out.println("day="+day);



    }
}

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值