题目描述
编写一个方法static boolean ascendingOrder(double[] a),该方法判断double类型数组a中的值是否已按升序排列,是,返回true,否,返回false。在主方法中输入10个学生的成绩保存在数组double[] score中,再调用上述方法,若返回true,输出“数组是升序!”,否则输出“数组不是升序!“”。
输入描述
10个double类型的数
输出描述
判断结果,其中的标点是中文状态的。
输入样例
65 66 74 78 80 83 84 86 88 97
输出样例
数组是升序!
import java.util.Scanner;
/**
很高兴得到你的采纳!!
public static void main(String[] args) {
System.out.println(ascendingOrder(new double[]{1,5,2,3,4})?"数组是升序":"数组不是升序!");
}
static boolean ascendingOrder(double[] a){
//数组转list
List<Double> list = Arrays.stream(a).boxed().collect(Collectors.toList());
//数组复制一份(list2)用于最后的相同比较
List<Double> list2 = list.stream().collect(Collectors.toList());
//list升序排序
Collections.sort(list);
//返回相同比较
return list.equals(list2);
}
这直接拿后一个跟前一个比较,如果大于前一个就继续,那么不就是升序,一旦有不符合的直接return