Java 入门练习(11 - 15)
JAVA11 求最小公倍数
描述
编写一个方法,该方法的返回值是两个不大于 100 的正整数的最小公倍数
输入描述
两个 int 类型变量作为方法的参数
输出描述
int 类型的变量,值为两个数的最小公倍数
示例1
输入:
3 7 |
输出:
21 |
解答
要求两个数的最小公倍数,那么这个数至少应该是两个数中大的那个数,所以需要先求出两个树中大的那个,可以利用 Math
包中提供的 max()
方法。此外,如果两个数互质,那么这两个数的最小公倍数就是它们的积。然后在这个区间中循环,用区间中的数去除以 m
和 n
,如果存在一个数能同时整除 m
和 n
,那么这个数就是它俩的最小公倍数。
import java.util.*; |
JAVA12 小球走过路程计算
描述
一球从h米高度自由落下,每次落地后反弹回原高度的一半再落下,求它在第 n 次落地时共经过了多少米?第 n 次反弹多高?
输入描述
输入小球的初始高度和落地的次数(先输入小球初始高度再输入反弹次数)
输出描述
输出小球反弹的高度和经过的距离(先输出反弹的高度再输出经过的距离,中间用空格隔开)
示例1
输入:
100 3 |
输出:
12.500 250.000 |
备注:
结果保留三位小数,保留方式已经写在预设方法备注中 |
解答
要经过 n
此落地,所以需要循环 n
次,在每次循环的时候,需要将下落的高度和回弹的高度相加。需要注意的点,第 n
次下落不需要计算回弹的距离了。
import java.util.Scanner; |
JAVA13 求平均数
描述
键盘输入任意多个 10000 以内正整数(负数代表结束),求出它们的平均数,
输入描述
任意多个正整数
输出描述
它们的平均数(平均数为 double 类型,保留两位小数)
示例1
输入:
12 23 32 43 -1 |
输出:
27.50 |
解答
分别创建三个变量来表示输入的数和 sum
、平均值 avg
以及个数 count
,当遇到输入的值是负数时,就终止循环,然后计算出其平均值 sum / count
。
import java.util.Scanner; |
JAVA14 判断质数
描述
请补全预设代码中判断质数的方法。
输入描述
一个大于1的整数
输出描述
true/false
示例1
输入:
2 |
输出:
true |
示例2
输入:
9 |
输出:
false |
解答
要判断一个数是否是质数,那么用它来除以 2
~ number / 2
之间的数,如果存在一个数能被 number
整除,那么就说明这个数不是质数。
import java.util.Scanner; |
JAVA15 计算整数位数
描述
输入一个整数,计算它的位数。如果输入的整数不大于 0 则输出这个数
输入描述
一个整数
输出描述
整数的位数
示例 1
输入:
9999 |
输出:
4 |
示例2
输入:
0 |
输出:
0 |
示例3
输入:
-1 |
输出:
-1 |
解答
如果输入的数是非正数,那么就直接输出这个数。如果这个数是正数,那么就将其转换为字符串,然后利用 length()
方法求出其位数即可。
import java.util.Scanner; |