###前提・実現したいこと
1~10までの数値を生成して降順にソートしたいです。
メインクラスの呼び出しかたがわかりません。(コンストラクタを呼び出したい)
呼び出し部分の内容の構成がわからないので、呼び出し部分をどうかけばいいのか教えてほしいです。
比較はcompareToで隣通しを比較しています。
初心者なのでかみ砕いて優しく説明いただけると助かります。
###該当のソースコード
import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ArrayNumber { public static List <Integer> sort(boolean mode ,List<Integer>orgList){ List <Integer>newList = new ArrayList<Integer>(); Iterator<Integer>iter =orgList.iterator(); while(iter.hasNext()){ newList.add(iter.next()); } //ソート処理 while( true){ boolean isWorked =true; for( int i=0; i<newList.size(); i++){//size : int temp; int result =newList.get(i).compareTo(newList.get(i+1));//隣通しの値を比較 isWorked =false; switch( result){ case -1://引数の方が大きい時 if( mode==false){//降順にソートのときの動作 temp =newList.get(i); newList.set(i, newList.get(i+1)); newList.set(i+1, temp); isWorked =false; } break; case 1://引数の方が小さい時 if( mode==true ){//昇順にソート temp =newList.get(i);//[i]番目の値を退避 newList.set(i, newList.get(i));//[i]番目に[i+1]番目の値をコピー newList.set(i, temp); isWorked =false;//項目の入れ替えを行ったのでまだ処理途中 } break; case 0://実装しない break; } } if(isWorked==true){//ソート処理が終わった break;//抜ける } } return newList; } } ★★呼び出すクラス-------------------------- import java.util.List; public class ArraySortCall { public static void main(String[] args) { ArrayNumber call = new ArrayNumber(); ArrayNumber.sort(mode, orgList); System.out.println(call); } }
回答3件
あなたの回答
tips
プレビュー