定义类,在该类内部创建一个静态嵌套类,该嵌套类包含:
属性: 与,用于存放最小值最大值
方法:toString方法,格式见下面的输出样例。
ArrayUtils
PairResult
private double min
private double max
为类创建一个静态方法,对传递进来的数组找到其中的最大值和最小值并返回对象。ArrayUtils
PairResult findMinMax(double[] values)
PairResult
main方法说明
- 输入n,创建大小为n的double型数组
- 依次输入n个double型数值放入数组
- 调用findMinMax方法得到结果,并输出。
- 最后使用打印标识信息
System.out.println(ArrayUtils.PairResult.class)
输入样例
5
0 -1 1 1.1 1.1
输出样例
PairResult [min=-1.0, max=1.1]
\\这里打印标识
思路:
类方法:首先定义一个静态嵌套类PairResult,它有两个属性min和max,用于存储最小值和最大值(赋值为数组的第一个数值以防数组只有一个时报错)。然后定义了一个toString方法,用于将对象转换为字符串。
然后外部类ArrayUtils定义一个静态方法findMinMax,它接受一个double数组作为参数,然后遍历这个数组,找到其中的最大值和最小值,然后返回一个PairResult对象。Main类:首先创建一个Scanner对象用于接收输入。然后输入数组的大小,并创建一个相应大小的double数组。然后输入n个double值,并将这些值存入数组。然后调用findMinMax方法找到数组中的最大值和最小值,并打印结果。最后,打印PairResult类的类信息。
代码如下:
import java.util.Scanner;
// 导入ArrayUtils类
class ArrayUtils {
// 定义PairResult类
public static class PairResult {
private double min;
private double max;
// 构造函数,传入最小值和最大值
public PairResult(double min, double max) {
this.min = min;
this.max = max;
}
// 重写toString方法,返回PairResult的字符串表示
@Override
public String toString() {
return "PairResult [min=" + min + ", max=" + max + "]";
}
}
// 定义findMinMax方法,传入double数组,返回PairResult对象
public static PairResult findMinMax(double[] values) {
// 定义最小值和最大值
double min = values[0];
double max = values[0];
// 遍历数组,找到最小值和最大值
for (double value : values) {
if (value <= min) {
min = value;
}
if (value >= max) {
max = value;
}
}
// 返回PairResult对象
return new PairResult(min, max);
}
}
public class Main {
public static void main(String[] args) {
// 创建Scanner对象
Scanner scanner = new Scanner(System.in);
// 输入数组大小
//System.out.println("Enter the size of the array:");
int n = scanner.nextInt();
// 创建double数组
double[] values = new double[n];
// 输入数组元素
//System.out.println("Enter " + n + " double values:");
for (int i = 0; i < n; i++) {
values[i] = scanner.nextDouble();
}
// 调用ArrayUtils的findMinMax方法,传入double数组,返回PairResult对象
ArrayUtils.PairResult result = ArrayUtils.findMinMax(values);
System.out.println(result);
System.out.println(ArrayUtils.PairResult.class);
}
}