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);
}
}
while 循环练习
最新推荐文章于 2024-07-25 13:40:37 发布