返回本章节
返回作业目录
需求说明:
- 创建一个数学工具类。
将该类设计为final类。
将该类的构造方法的访问权限定义为私有,以防止外界实例化该类。
在该类定义静态double类型常量π,其值为3.14159268。
定义静态方法addition(),用于计算一个int[]类型的数组元素之和。
定义静态方法circ(),用于计算圆形的周长。
定义静态方法sort(),用于对传入的int[]数组元素进行升序排序。
实现思路:
- 创建一个数学工具类的实现思路:
- 创建MathUtils类,该类可作为一个常用的数学工具类,其中包括静态常量π,π值为3.14159268,静态方法addition(int[] data),该方法用于计算传入数组的各元素和,静态方法cicr(double r),该方法用于计算传入半径长度的圆周长,静态方法sort(int[] data),该方法将传入的数组进行升序排序。
- 创建测试类MathUtilsTest,在该类的入口方法中,使用MathUtils类的相关静态方法实现计算需求。
实现代码:
MathUtils类
import java.util.Arrays;
import java.util.Date;
public final class MathUtils {
final static double π = 3.14159268;
//构造方法定义成私有访问权限
private MathUtils() {
}
//计算数组元素的和
public final static void addition(int[] data) {
int sum = 0;
for (int i = 0; i < data.length; i++) {
sum += data[i];
}
System.out.println("data数组各元素和="+sum);
}
//计算圆形的周长
public final static void circ(double r) {
double perimeter = 2*π*r;
System.out.printf("半径为%f的园的周长是%f\n",π,perimeter);
}
//对数组进行排序
public final static void sort(int[] data) {
System.out.println("data数组排序前的结果:");
for (int i = 0; i < data.length; i++) {
System.out.print(data[i]+"\t");
}
System.out.println();
System.out.println("data数组排序后的结果:");
for (int i = 0; i < data.length; i++) {
Arrays.sort(data);
System.out.print(data[i]+"\t");
}
}
}
测试类MathUtilsTest
import javax.xml.bind.Marshaller;
public class MathUtilsTest{
public static void main(String[] args) {
int[] data = new int[]{5,7,1,3,2,4,8,9,6};
System.out.println("π的值:"+MathUtils.π);
MathUtils.addition(data);
MathUtils.circ(2);
MathUtils.sort(data);
}
}