循环高级综合练习

255 阅读2分钟

练习1:逢7过

朋友聚会的时候可能会玩一个游戏:逢7过

游戏规则:从任意一个数字开始报数,当你要报的数字是包含7或者7的倍数时都要说:过

需求:使用程序在控制台打印出1-100之间的满足逢7必过规则的数据

public class Tset1 {  
    public static void main(String[] args) {  
        for (int i = 1; i <= 100; i++) {  
            if (i % 10 == 7 || i / 10 == 7 || i % 7 ==0) {  
                System.out.println("过");  
                continue;  
            }  
            System.out.println(i);  
        }  
    }  
}

练习2:求平方根

需求:键盘录入一个大于等于2的整数x,计算并返回x的平方根。

结果只保留整数部分,小数部分将被舍去

import java.util.Scanner;  
  
public class Test2 {  
    public static void main(String[] args) {  
        Scanner sc = new Scanner(System.in);  
            System.out.println("请输入一个整数");  
            int num = sc.nextInt();  
            for(int i = 1; i <= num; i++) {  
                if (i * i == num) {  
                    System.out.println(i + "就是" + num + "的平方根");  
                    break;  
                } else if (i * i > num) {  
                    System.out.println((i - 1) + "就是" + num + "平方根的整数部分");  
                    break;  
            }  
        }  
    }  
}

练习3:求质数

需求;键盘录入一个正整数x,判断该整数是否为一个质数

如果一个整数只能被1和本身整除,那么这个数就是质数,否则这个数叫做合数

7 = 1 * 7 质数

8 = 1 * 8 2 * 4 合数

import java.util.Scanner;  
  
public class Test3 {  
    public static void main(String[] args) {  
        // 写一个循环,从2开始判断,一直判断到 num -1 为止  
        // 看这个范围之内,有没有数字可以被num整除  
        Scanner sc = new Scanner(System.in);  
        int num = sc.nextInt();  
        boolean flag = true;  
        for (int i = 2; i < num; i++) {  
            if(num % i == 0) {  
                flag = false;  
                break;  
            }  
        }  
        if(flag) {  
            System.out.println(num + "是一个质数");  
        } else {  
            System.out.println(num + "不是一个质数");  
        }  
    }  
}

练习4:猜数字小游戏

需求:程序自动生成一个1~100之间的随机数字,使用程序实现猜出这个数字是多少?

获取随机数

  • Java帮我们写好了一个类叫 Random,这个类可以生成一个随机数

    • 导包

      • import java.util.Scanner;
    • 创建对象

      • Scanner sc = new Scanner(System.in);
    • 接收数据

      • int i = sc.nextInt();

使用步骤:

1⃣️ 导包 --- Random 这个类在哪

import java.util.Random;

导包动作必须出现在类定义的上边

2⃣️ 创建对象 --- 表示我要开始用Random这个类

Random r = new Random();

上面这个格式里面,只有 r 是变量名,可以变,其他的都不允许变

3⃣️ 生成随机数 --- 真正开始干活了

int num = r.nextInt(随机数的范围);

上面这个格式里面,只有 num 是变量名,可以变,其他的都不允许变

练习:获取随机数范围 1~100
import java.util.Random;  
  
public class RandomTest {  
    public static void main(String[] args) {  
        Random r = new Random();  
        int num = r.nextInt(100) + 1;  
        System.out.println(num);  
    }  
}
import java.util.Random;  
import java.util.Scanner;  
  
public class RandomTest2 {  
    public static void main(String[] args) {  
        Random r = new Random();  
        int num = r.nextInt(100) + 1;  
        System.out.println(num);  

        int count = 0;  

        Scanner sc = new Scanner(System.in);  
        // 不知道循环多少次用 while  
        while(true) {  
            System.out.println("请输入你要猜的数字");  
            int guessNumber = sc.nextInt();  

            // 保底机制  
            count++;  
            if(count == 5) {  
                System.out.println("猜中了");  
                break;  
            }  
            if(guessNumber > num) {  
                System.out.println("大了");  
            } else if(guessNumber < num){  
                System.out.println("小了");  
            } else {  
                System.out.println("猜中了");  
                break;  
            }  
        }  
    }  
}