用java编写程序!!急需

发布网友

我来回答

2个回答

热心网友

代码为:

public class T {
public static void main(String[] args) {
//声明三个人的成绩
double[] gradesForZhangSan = new double[]{9.65, 9.40, 9.95, 9.55, 9.65, 9.80, 9.75, 9.20};
double[] gradesForLiSi = new double[]{9.15, 9.80, 9.45, 9.65, 9.90, 9.85, 9.70, 9.30};
double[] gradesForWangWu = new double[]{9.40, 9.45, 9.50, 9.30, 9.95, 9.20, 9.60, 9.85};

//利用Arrays的排序方法sort()进行升序排序
Arrays.sort(gradesForZhangSan);
Arrays.sort(gradesForLiSi);
Arrays.sort(gradesForWangWu);

//调用getResult()方法计算最终结果
System.out.print("当前学生为张三,");
getResult(gradesForZhangSan);
System.out.print("当前学生为李四,");
getResult(gradesForLiSi);
System.out.print("当前学生为王五,");
getResult(gradesForWangWu);
}

private static void getResult(double[] grades) {
int i;
double sum = 0;
double max;
double min;
double result;
System.out.println("其成绩为:");
for (i = 0; i < grades.length; i++) {
System.out.print(grades[i] + " ");
sum += grades[i];
}
max = grades[grades.length - 1];
min = grades[0];
result = (sum - max - min) / 6;

System.out.println("\n其总分为:" + sum);
System.out.println("去掉一个最高分:" + max);
System.out.println("去掉一个最低分:" + min);
//最终结果利用BigDecimal的setScale()方法四舍五入保留两位小数
System.out.println("最终得分:" + new BigDecimal(result).setScale(2, RoundingMode.HALF_UP));
System.out.println("");
}
}


运行结果:

热心网友

剩下的2个人自己抄一份代码再算下就好了。
import java.text.DecimalFormat;

public class Test56 {

// 张三评分
public double[] point1 = new double[]{9.65,9.40,9.95,9.55,9.65,9,80,9.75,9.20};

public static void main(String[] args) {
Test56 test = new Test56();
double max1 = test.getMax(test.point1);
double min1 = test.getMin(test.point1);
double sum1 = test.getSum(test.point1);
double avg1 = (sum1 - max1 - min1) / (test.point1.length - 2);
DecimalFormat df = new DecimalFormat("#.00");
System.out.println("张三最终得分:" + df.format(avg1));
}

public double getMax(double[] point){
double max = point[0];
for(double d : point){
if(d > max)max = d;
}
return max;
}

public double getMin(double[] point){
double min = point[0];
for(double d : point){
if(d < min)min = d;
}
return min;
}

public double getSum(double[] point){
double sum = 0.0;
for(double d : point){
sum += d;
}
return sum;
}

}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com