需求:在实际开发中,经常会遇到一些数组使用的工具类。请按照如下要求编写一个数组的工具类:ArraysUtils 1.我们知道数组对象直接输出的时候是输出对象的地址的,而项目中很多地方都需要返回数组的内容,请在ArraysUtils中提供一个工具类方法toString,用于返回整数数组的内容,返回的字符串格式如:[10, 20, 50, 34, 100](只考虑整数数组,且只考虑一维数组) 2.经常需要统计平均值,平均值为去掉最低分和最高分后的分值,请提供这样一个工具方法getAerage,用于返回平均分。(只考虑浮点型数组,且只考虑一维数组) 3.定义一个测试类Test,调用该工具类的工具方法,并返回结果。 任务描述: 运行程序输出如下结果 相关知识
时间: 2024-02-06 15:11:56 浏览: 73
ArraysUtils工具类代码如下:
```java
public class ArraysUtils {
/**
* 返回整数数组的内容
*
* @param arr 整数数组
* @return 数组内容的字符串格式
*/
public static String toString(int[] arr) {
StringBuilder sb = new StringBuilder("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
sb.append(arr[i]);
} else {
sb.append(arr[i]).append(", ");
}
}
sb.append("]");
return sb.toString();
}
/**
* 返回浮点型数组去掉最高分和最低分后的平均分
*
* @param arr 浮点型数组
* @return 平均分
*/
public static double getAverage(double[] arr) {
if (arr.length <= 2) {
throw new IllegalArgumentException("数组长度不能小于等于2");
}
double min = arr[0];
double max = arr[0];
double sum = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] < min) {
min = arr[i];
}
if (arr[i] > max) {
max = arr[i];
}
sum += arr[i];
}
return (sum - min - max) / (arr.length - 2);
}
}
```
测试类Test代码如下:
```java
public class Test {
public static void main(String[] args) {
int[] arr1 = {10, 20, 50, 34, 100};
double[] arr2 = {89.5, 78.0, 92.0, 86.5, 85.0};
System.out.println(ArraysUtils.toString(arr1));
System.out.println(ArraysUtils.getAverage(arr2));
}
}
```
运行程序输出如下结果:
```
[10, 20, 50, 34, 100]
88.0
```
相关知识:数组、StringBuilder、异常处理。
阅读全文