Math类表示数学类,其中的数学方法都被定义成为static形式,所以可以直接通过Math类的类名调用某个数学方法。语法格式:
Math.xxx(参数);
例题
输入n个整数a1,a2,a3,......an,求这n个数的最大值max,最小值min,以及|ai-aj|绝对值的最大值(i!=j)(n<=1000,ai<=1000)
实例:
输入5
1 2 3 4 5
输出1 5 4
Integer.MAX_VALUE 是 int 类型的最大值,
所以数组 f 中的第一个元素 f[0] 能够成功地将其值赋给 min。
然后,通过后续的循环逐个比较 f 数组中的其他元素,能够正确地更新 min 为更小的值。
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int []f = new int[n];
/*
用 Integer.MAX_VALUE 的好处:在这个上下文中用作一个比数组 f 中任何可能的值都要大的“占位符”,以确保 min 变量能够在后续的循环中正确地找到数组 f 的最小值*/int max = 0,min = Integer.MAX_VALUE,absmax = 0;for (int i = 0; i < n; i++) {f[i] =sc.nextInt();}for (int i = 0; i < n; i++) {max = Math.max(f[i],max);min = Math.min(f[i],min);}for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {
// 避免了对同一个元素进行自己减自己的操作,因为任何数减自己都是0if (i == j){continue;}absmax = Math.max(Math.abs(f[i]-f[j]),absmax);}}System.out.println(max + " " + min + " " + absmax);}
}