Java中集合 练习 计算疯狂值
生活随笔
收集整理的這篇文章主要介紹了
Java中集合 练习 计算疯狂值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*** 計算 瘋狂值* 5 10 15 30 70 80 100* */
public class ListExcer {public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.println("請輸入這組數的個數:");int number = s.nextInt();List<Integer> list =new ArrayList<Integer>();for(int i =0;i<number ;i++){System.out.println("請輸入第"+(i+1)+"個數:");list.add(s.nextInt());}//對列表進行計算瘋狂值int sum = sort(list);System.out.println(sum);Collections.reverse(list);int sum1 = sort(list);System.out.println(sum1);}private static int sort(List<Integer> list) {//對列表進行排序Collections.sort(list);System.out.println(list);//創建一個新數組用于存放結果List<Integer> l = new ArrayList<Integer>();//先放入第一個元素l.add(list.get(list.size()-1));//添加一個最大的數//提示下次的動作int des = 0;//0 左小 1右小 2左大 3右大for(int i = 0,start = 0,end = list.size()-2;i<list.size()-1;i++){if(des == 0){//向首位添加最小的數l.add(0,list.get(start));start++;}else if(des == 1){//向末尾添加第二小的數l.add(list.get(start));start++;}else if(des == 2){//向首位添加最大的數l.add(0,list.get(end));end--;}else{//向末尾添加第二大的數l.add(list.get(end));end--;des =-1;}des++;}System.out.println(l);//開始計算瘋狂值int sum = 0;for(int i = 0;i<l.size()-1;i++){sum += Math.abs(l.get(i)-l.get(i+1));}return sum;}
}
總結
以上是生活随笔為你收集整理的Java中集合 练习 计算疯狂值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中集合(七)Collection
- 下一篇: Java集合(八) 迭代器Iterato