package cn.edu.nwpu.java;
import java.util.ArrayList;
import java.util.Collection;
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils.Collections;
public class MyScore {
public static void main(String[] args) {
// 实现选择、排序、求平均的问题
// java的数组是定长的,要想实现可编程的数组需用集合类ArrayList或者vector
// 两者的区别是vector是同步的,但是ArrayList是异步的,这个只在多线程中会遇到,异步更快,同步更安全
ArrayList<Double> scores = new ArrayList<>();
// .add()方法用于向Arraylist中添加数据
scores.add(80.0);
scores.add(68.9);
scores.add(70.8);
scores.add(90.4);
System.out.println("最高的分数是:" + MyScore.highestScore(scores));
for(int i = 0; i < scores.size(); i++) {
System.out.println(scores.get(i));
}
}
/**
* 用于对成绩进行排序,然后返回最大值,顺利实现自定义的集合排序
* @param ds 带排序的数组
* @return 返回最大值
*/
public static double highestScore(ArrayList<Double> ds) {
for(int i = 0; i < ds.size(); i++) {
for(int j = i+1; j < ds.size(); j++) {
if (ds.get(j) > ds.get(i)) {
double temp;
temp = ds.get(j);
ds.set(j, ds.get(i));
ds.set(i,temp);
}
}
}
return ds.get(0);
}
}