現在、配列の中身を並び替え、表示するプログラムを作成しています。
要件としましては、メソッド「arraysSort」と「display」、「change」を定義し、mainメソッドから該当するメソッドを呼び出し、正しい結果が表示されることとしています。
また、changeメソッドはarraysSortメソッドの処理中に呼ばれることを想定しています。
現在の途中まで完成しているコードは以下となります。
package sample; import java.util.Arrays; import java.util.stream.Collectors; public class sample4 { public static void main(String[] args) { int[] arrays1 = {96,45,31,29,84,77}; // System.out.println(arrays1); System.out.println(Arrays.toString(arrays1)); //並び替え前の配列内を表示 display(arrays1,false); //昇順で並び替えを実行 arraysSort(arrays1,true); //並び替え後の配列内を表示 display(arrays1,true); //降順で並び替えを実行 arraysSort(arrays1,false); } public static void display(int[] ar,boolean isSorted) { String msg = ""; String num_list = ""; if (isSorted == false) { msg = "***並び替え前***"; }else if (isSorted == true) { msg = "***並び替え後***"; } // for(int i = 0; i < ar.length; i++) { // if(i == ar.length - 1) { // num_list += Integer.toString(ar[i]); // break; // // } // num_list += Integer.toString(ar[i]) + ","; num_list = Arrays.stream(ar) .mapToObj(Integer::toString) .collect(Collectors.joining(",")); System.out.println(msg); System.out.println(num_list); } public static void arraysSort(int[] ar,boolean orderType) { } public static void change(int[] ar,int i ,int j) { } }
displayメソッドの部分は完成しているのですが、ソート処理の部分で、単純にArrays.sort
メソッドなどを使用するなどではなく、changeメソッドを使用し自作しなければならず、そこの部分でつまずいてしまっています。
こちらの問題につきまして、解決の為、ご助言頂けましたら幸いです。
よろしくお願いします。
あなたの回答
tips
プレビュー