• 【刷题学习Java】——循环语句


    在这里插入图片描述

    🎉个人主页:这个昵称我想了20分钟
    ✨往期专栏:【速成之路】jQuery
           【速成之路】Ajax
           【速成之路】SQL server
    🎖️系列专栏:【初学者】刷题学习Java
    🔥推荐一款模拟面试,刷题神器👉点击跳转到网站

      ❤️欢迎各位小伙伴们!强烈推荐一款刷题神器👉点击跳转到网站
      🔥这是一款专注于程序员的学习和成长的专业平台,有许多专业的IT面试题库,精选了多家知名企业的面试题,全方位提升你的IT技能,轻松面对各大企业面试。

    数列求和

    在这里插入图片描述

    public class Main {
        public static void main(String[] args) {
    
            //write your code here........
            long sum = 0;
            for(int i = 1;i <= 10; i++){
                sum+=(Math.pow(10,i))-1;
            }
            System.out.println(sum);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

      注:使用 函数Math.pow(a,b),即计算a的b次方。注意long的取值范围为:-9223372036854775808~9223372036854775807

    统计输入正数个数

    在这里插入图片描述

    import java.util.*;
    
    public class Main {
        public static void main(String[] args) {
            int count = 0;
            Scanner scanner = new Scanner(System.in);
    
            //write your code here......
            while(true){
                if((scanner.nextInt())<=0){
                    break;
                }
              count++;
            }
            System.out.println(count);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    最小公倍数

    在这里插入图片描述

    import java.util.*;
    
    public class Main {
        public static void main(String[] args) {
            Scanner console = new Scanner(System.in);
            int m = console.nextInt();
            int n = console.nextInt();
            int result = getCM(m, n);
            System.out.println(result);
        }
    
        public static int getCM(int m, int n){
            
            //write your code here......
             
             //计算m、n中较大者
            int max=Math.max(m,n);
            //从max到m*n之间找最小公倍数
            for(int i=max;i<=m*n;i++){
                //如果既能被m整除又能被n整除,说明是最小公倍数,直接返回
                if(i%m==0&&i%n==0){
                    return i;
                }
            }
            return 0;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    小球走过路程计算

    在这里插入图片描述

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner scanner=new Scanner(System.in);
            float h=scanner.nextFloat();
            int n =scanner.nextInt();
    
            //write your code here......
            float dis = 0;
            for(int i = 0;i < n;i ++){
                dis += h;
                h /= 2;
                if(i == n-1){
                  System.out.println(String.format("%.3f", h)+" "+String.format("%.3f", dis));  
                }
                dis += h;
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    在这里插入图片描述

      解题思路:我们遍历落地次数,第一次走过了落下高度这么多距离,然后弹起高度降低一半,然后走了弹起的高度这么多距离,完成一次循环,如果n个循环,累加距离,不断降低高度。需要注意最后一次落地后虽然要计算弹起的高度,我们还要输出它,但是我们走过的距离已经没有它的,我们此时已经是落地n次了,第n次落地相当于第n-1次弹起 。

    求平均数

    在这里插入图片描述

    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
    
            //write your code here......
            int cnt = 0;
            double avg = 0;
            int sum = 0;
            while(true){
                int num =  scan.nextInt();
                if(num < 0){
                    break;
                }
                sum += num;
                cnt++;
            }
            avg = (double)sum / cnt;
            System.out.println(String.format("%.2f",avg));
            //输出格式为:System.out.println(String.format("%.2f",avg));
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

      解题思路:定义一个计数变量cnt和一个累加和变量sum,分别用于记录整数个数,以及它们的累加和。
    使用一个循环进行模拟输入,如果是负数,则终止循环。每轮循环,计数加一,并且累加和加上对应数字,最后将累加和与计数的商作为平均数输出。

    判断质数

    在这里插入图片描述

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Main main = new Main();
            Scanner scan = new Scanner(System.in);
            int number = scan.nextInt();
            System.out.println(main.isPrimeNumber(number));
        }
    
        public Boolean isPrimeNumber(int number) {
    
            //write your code here......
            for(int i = 2;i < number;i ++){
                if(number % i == 0){
                    return false;
                }
            }
            return true;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    计算整数位数

    在这里插入图片描述

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            int num = scan.nextInt();
            scan.close();
    
            //write code here......
            int cnt = 0;
            while(num > 0){
                cnt++;
                num /= 10;
            }
            System.out.println(cnt);
            if(num < 0){
                System.out.println(num);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

      解题思路:定义一个位数变量,记录对应位数变化。
    使用一个while循环,只要num大于0,则位数加一,同时num除10,表示消耗掉最低位。

    结尾

      Java的学习必须是有条理、有逻辑的由浅入深。学习Java,一定要理论+实践,对于刚入门的小白来说,练习是必不可少的,想要继续提升能力,都可以去牛客(🔥👉点击直接进入练习)刷题练习。而且可以看到别人的解题思路和解题方法,对自己有非常棒的提升赶紧学习起来吧!❤️
    在这里插入图片描述

  • 相关阅读:
    网络通信基础
    机器学习-数学基础
    Kotlin 开发Android app(十四):startActivity跳转Activity活动
    【python项目推荐】键盘监控--统计打字频率
    技术分享| 融合调度中的广播功能设计
    面向万物智联的云原生网络
    深度学习应用篇-元学习[13]:元学习概念、学习期、工作原理、模型分类等
    python 代码 C 执行
    vue的路由懒加载
    基于SSM的宿舍管理系统
  • 原文地址:https://blog.csdn.net/m0_61684063/article/details/125730584