JAVA初学者关于for循环的十道练习题

1、循环输入周一到周五的成绩,要求成绩不能是负数,如果为负数,重新输入,结果显示,平均分,最高分,最低分。

Scanner input = new Scanner(System.in);

        double sum = 0;
        //初值为负无穷大
        int maxarray = Integer.MIN_VALUE;
        //初值为正无穷大
        int minarray = Integer.MAX_VALUE;
        for (int i = 0; i < 5; i++) {

            System.out.println("请输入第" + (i + 1) + "个数");
            int num = input.nextInt();
            //判断输入值是否为负数,若是。则提示。
            while (num < 0) {
                System.out.println("成绩必须为正数。");
                num = input.nextInt();
            }
            maxarray = Math.max(maxarray, num);
            minarray = Math.min(minarray, num);

            //求得所有输入的数的总数
            sum += num;

        }
        double average = sum / 5;
        System.out.println("这五个数的平均数:" + average);
        System.out.println("这五个数的最高数:" + maxarray);
        System.out.println("这五个数的最低数:" + minarray);

 2.输出所有5位数中的回文数。 

        for (int x = 10000; x < 100000; x++) {
            int ge = x % 10;
            int shi = x / 10 % 10;
            int qian = x / 10 / 10 / 10 % 10;
            int wan = x / 10 / 10 / 10 / 10 % 10;
            if ((ge == wan) && (shi == qian)) {
                System.out.println(x);
            }
        }

部分结果展示

 3.计算1-100之和 。

        int num =0;
        for(int i=0;i<=100;i++){
            num+=i;
        }
        System.out.println("总和:"+num);

4.列出1-1000以内所有的奇数和偶数

        for (int i = 1; i < 1000; i++) {
            if (i % 2 != 0) {
                System.out.print(i+" ");
            }
        }
        System.out.println("\n偶数:");
        for (int i = 1; i < 1000; i++) {
            if (i % 2 == 0) {
                System.out.print(i+" ");
            }
        }

部分结果展示

5.列出1000以内所有的质数 

        int i, j;
        System.out.println("质数:");
        for (i = 2; i <= 1000; i++) {
            for (j = 2; j < i; j++) {
                //整除判断
                if (i % j == 0) {
                    break;
                }
            }
            if (j == i) {
                System.out.print(i + " ");
            }

        }

 

6.输入A和B两个值,计算出他俩的最小公倍数和最大公因数 

    //定义一个计算最大公因数的方法
    public static int calculateGCD(int num1, int num2) {
        if (num2 == 0) {
            return num1;
        }
        return calculateGCD(num2, num1 % num2);
    }

    // 定义一个计算最小公倍数方法
    public static int calculateLCM(int num1, int num2) {
        int gcd = calculateGCD(num1, num2);
        return (num1 * num2) / gcd;
    }
    public static void main(String age[]) {

        Scanner input = new Scanner(System.in);

        System.out.print("请输入第一个数: ");
        int num1 = input.nextInt();

        System.out.print("请输入第二个数: ");
        int num2 = input.nextInt();

        int gys = calculateGCD(num1, num2);
        int gbs = calculateLCM(num1, num2);

        System.out.println("最大公因数: " + gys);
        System.out.println("最小公倍数: " + gbs);
    }

 

 7.公鸡2元,母鸡1元,小鸡半元,每种至少一只,100文买100只鸡有多少可能性。 

        int num = 0;
        for (int i = 1; i < 50; i++) {
            for (int j = 1; j < 50; j++) {
                for (int z = 1; z < 50; z++) {
                    //增加判断条件,满足逻辑条件的加1
                    if (i * 4 + j * 2 + z == 200 && i + j + z == 100) {
                        num++;
                    }
                }
            }
        }
        System.out.println("一共有" + num + "种可能。");

8.鸡兔同笼:总共100个脚,各多少只 ?列出所有可能性。(经典题目)

        int num = 0;
        for (int i = 1; i < 50; i++) {
            for (int j = 1; j < 50; j++) {
                if (i * 4 + j * 2 == 100) {
                    System.out.println("一共有鸡" + j + "。兔子有" + i);
                    num++;
                }
            }
        }
        System.out.println("一共有" + num + "种可能。");

 9.打印反向乘法表

for (int i = 9; i >= 1; i--) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j + "X" + i + "=" + (i * j) + "\t");
            }
            System.out.println();
        }

正向乘法表

        for (int i = 1; i<=9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j + "X" + i + "=" + (i * j) + "\t");
            }
            System.out.println();
        }

 

10.打印水仙花数 

        for (int i = 100; i < 1000; i++) {
            int ge = i % 10;
            int shi = i / 10 % 10;
            int bai = i / 10 / 10 % 10;
            if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
                System.out.println("水仙花数有:" + i);

            }
        }

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值