两个数对比
题目:求2个数中较大者(用Java解决)。 输入:第一行为测试的数据组数N,接下来的N行分别是两个待比较的整数 输出:输出N行,每一行的值为每组数中较大的整数 样式输入: 2 1 2 15 10 样式输出: 2 15
import java.util.Scanner; public class 两个数比较 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 读取测试数据组数N int N = scanner.nextInt(); // 循环读取N组数据并比较输出较大者 for (int i = 0; i < N; i++) { int a = scanner.nextInt(); int b = scanner.nextInt(); int max = Math.max(a, b); System.out.println(max); } scanner.close(); } }
代码解释
-
导入Scanner类:用于读取输入数据。
-
主函数:程序入口。
-
读取测试数据组数N:使用
scanner.nextInt()
读取第一行的整数N。 -
循环读取N组数据:使用for循环读取接下来的N行数据。
-
比较并输出较大者:使用
Math.max(a, b)
比较两个整数,并输出较大的那个数。 -
关闭Scanner:释放资源。
知识点
math
Java Math 类是一个 final 类 不能给继承
Java Math类中封装了常用的数学运算,包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。
-
Math.sqrt()
: 计算平方根 -
Math.cbrt()
: 计算立方根 -
Math.pow(a, b)
: 计算a的b次方 -
Math.max( , )
: 计算最大值 -
Math.min( , )
: 计算最小值 -
Math.abs()
: 取绝对值
System.out.println(Math.sqrt(16)); // 4.0 System.out.println(Math.cbrt(8)); // 2.0 System.out.println(Math.pow(3, 2)); // 9.0 System.out.println(Math.max(2.3, 4.5));// 4.5 System.out.println(Math.min(2.3, 4.5));// 2.3 /** * abs求绝对值 */ System.out.println(Math.abs(-10.4)); // 10.4 System.out.println(Math.abs(10.1)); // 10.1
-
Math.ceil()
: 天花板的意思,就是逢余进一 -
Math.floor()
: 地板的意思,就是逢余舍一 -
Math.rint()
: 四舍五入,返回double值。注意.5的时候会取偶数 -
Math.round()
: 四舍五入,float时返回int值,double时返回long值
/** * ceil天花板的意思,就是逢余进一 */ System.out.println(Math.ceil(-10.1)); // -10.0 System.out.println(Math.ceil(10.7)); // 11.0 System.out.println(Math.ceil(-0.7)); // -0.0 System.out.println(Math.ceil(0.0)); // 0.0 System.out.println(Math.ceil(-0.0)); // -0.0 System.out.println(Math.ceil(-1.7)); // -1.0 System.out.println("-------------------"); /** * floor地板的意思,就是逢余舍一 */ System.out.println(Math.floor(-10.1)); // -11.0 System.out.println(Math.floor(10.7)); // 10.0 System.out.println(Math.floor(-0.7)); // -1.0 System.out.println(Math.floor(0.0)); // 0.0 System.out.println(Math.floor(-0.0)); // -0.0 System.out.println("-------------------"); /** * rint 四舍五入,返回double值 注意.5的时候会取偶数 异常的尴尬=。= */ System.out.println(Math.rint(10.1)); // 10.0 System.out.println(Math.rint(10.7)); // 11.0 System.out.println(Math.rint(11.5)); // 12.0 System.out.println(Math.rint(10.5)); // 10.0 System.out.println(Math.rint(10.51)); // 11.0 System.out.println(Math.rint(-10.5)); // -10.0 System.out.println(Math.rint(-11.5)); // -12.0 System.out.println(Math.rint(-10.51)); // -11.0 System.out.println(Math.rint(-10.6)); // -11.0 System.out.println(Math.rint(-10.2)); // -10.0 System.out.println("-------------------"); /** * round 四舍五入,float时返回int值,double时返回long值 */ System.out.println(Math.round(10)); // 10 System.out.println(Math.round(10.1)); // 10 System.out.println(Math.round(10.7)); // 11 System.out.println(Math.round(10.5)); // 11 System.out.println(Math.round(10.51)); // 11 System.out.println(Math.round(-10.5)); // -10 System.out.println(Math.round(-10.51)); // -11 System.out.println(Math.round(-10.6)); // -11 System.out.println(Math.round(-10.2)); // -10
温度转换
题目:输入一个华氏温度,输出摄氏温度,其转换公式为:C=5(F-32)/9
输入:输入数据只有一个实数,即华氏温度
输出:输出数据只有一个,即摄氏温度,保留2位小数。
输入:32.0
输出:0.00
import java.util.Scanner; public class 温度转换 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner reader = new Scanner(System.in); double C, F; F = reader.nextDouble(); C = 5 * (F - 32) / 9.00; System.out.printf("%.2f", C); reader.close(); } }