• 【Java刷题进阶】基础入门篇③


    📩很多朋友都问我学完基础知识以后怎样提高编程水平?当然是刷题啦!很多小伙伴都在纠结从哪里开始,今天给大家推荐一个身边朋友都在使用的刷题网站:点击进入牛客网刷题吧! 各大互联网大厂面试真题,成体系的分类题库,从入门到进阶,分类练习哦!


    🌕前言

    📩Java基础学习主要以练习为主,很多朋友听完视频课程学会基础以后感觉对练手项目无从下手,这里推荐去牛客网看看,这里的IT题库内容很丰富,属于国内做的很好的IT学习网站,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!

    在这里插入图片描述
    📩从基础开始练习,知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了java入门的全部知识点以及全部语法,通过知识点分类逐层递进,从基础开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。
    在这里插入图片描述
    📩牛客网还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。快来点击链接开始刷题吧:牛客网刷题进阶!


    第一题:求最小公倍数

    🍂题目描述

    编写一个方法,该方法的返回值是两个不大于100的正整数的最小公倍数

    输入描述:
    两个int类型变量作为方法的参数
    输出描述:
    int类型的变量,值为两个数的最小公倍数

    🍃示例

    输入:3 7
    输出:21

    🍃题解

    具体方法如下:

    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){
            //计算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 -1;
        }
         
    }
    
    • 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
    • 28
    • 29

    第二题:小球走过路程计算

    🍂题目描述

    一球从h米高度自由落下,每次落地后反弹回原高度的一半再落下,求它在第n次落地时共经过了多少米?第n次反弹多高?

    输入描述:
    输入小球的初始高度和落地的次数(先输入小球初始高度再输入反弹次数)
    输出描述:
    输出小球反弹的高度和经过的距离(先输出反弹的高度再输出经过的距离,中间用空格隔开)

    🍃示例

    输入:100 3
    输出:12.500 250.000

    🍃题解

    最后一次下落时不计算弹起来的距离,所以只计算n-1次弹起,具体方法如下:

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

    第三题:求平均数

    🍂题目描述

    键盘输入任意多个10000以内正整数(负数代表结束),求出它们的平均数

    输入描述:
    任意多个正整数
    输出描述:
    它们的平均数(平均数为double类型,保留两位小数)

    🍃示例

    输入:12 23 32 43 -1
    输出:27.50

    🍃题解

    使用为了循环实现,具体方法如下:

    import java.util.Scanner;
     
    public class Main {
     
        public static void main(String[] args) {
            //标准输入
            Scanner scan = new Scanner(System.in);
            //计数
            int cnt=0;
            //记录平均数
            double avg=0;
            //记录累加和
            double sum=0;
            while(scan.hasNext()){
                int num=scan.nextInt();
                //如果小于0,直接终止循环
                if(num<0){
                    break;
                }
                //累加和加上对应num
                sum+=num;
                //计数加一
                cnt++;
            }
            //计算平均数
            avg=sum/cnt;
            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
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    第四题:判断质数

    🍂题目描述

    请补全预设代码中判断质数的方法。

    输入描述:
    一个大于1的整数
    输出描述:
    true/false

    🍃示例

    输入:2
    输出:true

    🍃题解

    重点在于掌握判断质数的方法,具体实现如下:

    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......
            //满足以下条件不是质数(1+2)或(3)
            //1 非2的偶数
            //2 奇数(除1和本身)有其他奇数因子
            //3 2到开根号之间有因子
            if(number!=2 && number%2==0)return false;
            for(int i=3;i<number;i+=2){
                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
    • 22
    • 23
    • 24

    第五题:计算整数位数

    🍂题目描述

    输入一个整数,计算它的位数。如果输入的整数不大于0则输出这个数

    输入描述:
    一个整数
    输出描述:
    整数的位数

    🍃示例

    输入:9999
    输出:4

    输入:-1
    输出:-1

    🍃题解

    具体实现方法如下:

    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......
            if(num<=0){
                System.out.print(num);
            }else{
                for(int i =1;i<11;i++){//int最多10位
                    if((num/=10)==0){
                        System.out.print(i);
                        break;
                    }
                }
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
  • 相关阅读:
    【每日一题】ABC202D - aab aba baa | 组合数 | 简单
    35个MySQL常见面试题+答案
    React Native 环境搭建
    pandoc安装使用(markdown转换为docx)
    1.nodejs创建服务器、接收、响应请求
    怎么设置商品定价|四川聚华祥
    Python之第七章 函数 --- 基础
    一些名词 需要注意
    前缀和(c++,超详细,含二维)
    centos 部署java环境,拷贝jar包并运行
  • 原文地址:https://blog.csdn.net/zhangxia_/article/details/126167635