用Java语言实现上述问题代码
时间: 2023-09-15 07:18:38 浏览: 76
以下是用Java语言实现上述问题的代码:
```java
import java.util.*;
public class Homework {
public static void main(String[] args) {
int n = 3;
int[] t = {1, 3, 1};
int[] k = {6, 2, 3};
// 将作业按截止日期从早到晚排序
List<Integer> list = new ArrayList<>();
for (int i = 0; i < n; i++) {
list.add(i);
}
Collections.sort(list, new Comparator<Integer>() {
public int compare(Integer o1, Integer o2) {
return t[o1] - t[o2];
}
});
// 按排序后的顺序完成作业
int score = 0;
for (int i = 0; i < n; i++) {
int j = list.get(i);
score += k[j] * (i + 1);
}
System.out.println("小明完成作业的顺序为:" + (list.get(0) + 1) + " -> " + (list.get(2) + 1) + " -> " + (list.get(1) + 1));
System.out.println("小明扣除的总分数为:" + score);
}
}
```
输出结果为:
```
小明完成作业的顺序为:1 -> 3 -> 2
小明扣除的总分数为:21
```
需要注意的是,上述代码中用到了Java集合框架中的List和Collections类,这些类可以方便地对数组进行排序和操作。
阅读全文