【刷题学习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);
    }
}

  注:使用 函数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);
    }
}

求最小公倍数

在这里插入图片描述

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;
    }
}

小球走过路程计算

在这里插入图片描述

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;
        }
    }
}

在这里插入图片描述

  解题思路:我们遍历落地次数,第一次走过了落下高度这么多距离,然后弹起高度降低一半,然后走了弹起的高度这么多距离,完成一次循环,如果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));
    }
}

  解题思路:定义一个计数变量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;
    }
}

计算整数位数

在这里插入图片描述

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);
        }
    }
}

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

结尾

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

  • 158
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 108
    评论
评论 108
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这个昵称我想了20分钟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值