前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 入门练习(11 - 15)

Java 入门练习(11 - 15)

作者头像
村雨遥
发布2022-06-28 09:15:16
3740
发布2022-06-28 09:15:16
举报
文章被收录于专栏:JavaPark

JAVA11 求最小公倍数

描述

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

输入描述

两个 int 类型变量作为方法的参数

输出描述

int 类型的变量,值为两个数的最小公倍数

示例1

输入:

代码语言:javascript
复制
3 7

输出:

代码语言:javascript
复制
21

解答

要求两个数的最小公倍数,那么这个数至少应该是两个数中大的那个数,所以需要先求出两个树中大的那个,可以利用 Math 包中提供的 max() 方法。此外,如果两个数互质,那么这两个数的最小公倍数就是它们的积。然后在这个区间中循环,用区间中的数去除以 mn,如果存在一个数能同时整除 mn,那么这个数就是它俩的最小公倍数。

代码语言:javascript
复制
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) {
        int max = Math.max(m, n);
        for (int i = max; i <= m * n; i++) {
            if (i % m == 0 && i % n == 0) {
                return i;
            }
        }
        return -1;
    }
}

JAVA12 小球走过路程计算

描述

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

输入描述

输入小球的初始高度和落地的次数(先输入小球初始高度再输入反弹次数)

输出描述

输出小球反弹的高度和经过的距离(先输出反弹的高度再输出经过的距离,中间用空格隔开)

示例1

输入:

代码语言:javascript
复制
100 3

输出:

代码语言:javascript
复制
12.500 250.000

备注:

代码语言:javascript
复制
结果保留三位小数,保留方式已经写在预设方法备注中

解答

要经过 n 此落地,所以需要循环 n 次,在每次循环的时候,需要将下落的高度和回弹的高度相加。需要注意的点,第 n 次下落不需要计算回弹的距离了。

代码语言:javascript
复制
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;
        }
    }
}

JAVA13 求平均数

描述

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

输入描述

任意多个正整数

输出描述

它们的平均数(平均数为 double 类型,保留两位小数)

示例1

输入:

代码语言:javascript
复制
12 23 32 43 -1

输出:

代码语言:javascript
复制
27.50

解答

分别创建三个变量来表示输入的数和 sum、平均值 avg 以及个数 count,当遇到输入的值是负数时,就终止循环,然后计算出其平均值 sum / count

代码语言:javascript
复制
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        double avg = 0;
        int count = 0;
        double sum = 0;
        while (scan.hasNext()) {
            int num = scan.nextInt();
            // 输入的数大于 0 时,求和并计数
            if (num > 0) {
                sum += num;
                count++;
            } else {
                break;
            }
        }
        // 求平均值
        avg = sum / count;
        System.out.println(String.format("%.2f", avg));
    }
}

JAVA14 判断质数

描述

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

输入描述

一个大于1的整数

输出描述

true/false

示例1

输入:

代码语言:javascript
复制
2

输出:

代码语言:javascript
复制
true

示例2

输入:

代码语言:javascript
复制
9

输出:

代码语言:javascript
复制
false

解答

要判断一个数是否是质数,那么用它来除以 2 ~ number / 2 之间的数,如果存在一个数能被 number 整除,那么就说明这个数不是质数。

代码语言:javascript
复制
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) {
        Boolean flag = true;
        for (int i = 2; i <= number / 2 ; i++) {
            if (number % i == 0) {
                flag = false;
            }
        }
        return flag;
    }
}

JAVA15 计算整数位数

描述

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

输入描述

一个整数

输出描述

整数的位数

示例 1

输入:

代码语言:javascript
复制
9999

输出:

代码语言:javascript
复制
4

示例2

输入:

代码语言:javascript
复制
0

输出:

代码语言:javascript
复制
0

示例3

输入:

代码语言:javascript
复制
-1

输出:

代码语言:javascript
复制
-1

解答

如果输入的数是非正数,那么就直接输出这个数。如果这个数是正数,那么就将其转换为字符串,然后利用 length() 方法求出其位数即可。

代码语言:javascript
复制
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();

        if (num <= 0) {
            System.out.println(num);
        }
        System.out.println(Integer.toString(num).length());
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JAVA11 求最小公倍数
    • 描述
      • 输入描述
      • 输出描述
    • 示例1
      • 解答
      • JAVA12 小球走过路程计算
        • 描述
          • 输入描述
          • 输出描述
        • 示例1
          • 备注:
            • 解答
            • JAVA13 求平均数
              • 描述
                • 输入描述
                • 输出描述
              • 示例1
                • 解答
                • JAVA14 判断质数
                  • 描述
                    • 输入描述
                    • 输出描述
                  • 示例1
                    • 示例2
                      • 解答
                      • JAVA15 计算整数位数
                        • 描述
                          • 输入描述
                          • 输出描述
                        • 示例 1
                          • 示例2
                            • 示例3
                              • 解答
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档