前提・実現したいこと
javaでどうしても最後のカンマが消せません。
過去の質問を参考にしてもわからなかったので質問させていただきます。
コードのどこを抜粋して載せてよいかわからず長くなってしまいすみませんが、
よろしくお願いいたします。
発生している問題・エラーメッセージ
****並び替え前**** 96,45,31,29,84,77, ****並び替え後**** 29,31,45,77,84,96, ****並び替え後**** 96,84,77,45,31,29,
該当のソースコード
java
1import java.util.Arrays; 2 3public class kadai5_7_1 { 4 public static void main(String[] args) { 5 int[] arrays1 = {96,45,31,29,84,77}; 6 display(arrays1, false); 7 arraysSort(arrays1, true); 8 display(arrays1, true); 9 arraysSort(arrays1, false); 10 display(arrays1, true); 11 12 } 13 public static void arraysSort(int[] array, boolean orderType) { 14 if(orderType == true) { 15 Arrays.sort(array); 16 }else { 17 for(int i=0;i<array.length;i++) { 18 for(int j=0;j<array.length;j++) { 19 if(array[i]>array[j]) { 20 change(array,i,j); 21 } 22 } 23 } 24 } 25 } 26 public static void display(int[] array, boolean orderType) { 27 if(orderType == true) { 28 System.out.println("****並び替え後****"); 29 }else { 30 System.out.println("****並び替え前****"); 31 } 32 for(int i:array) {//わからないのがここからです 33 int sts = 5; 34 while(sts>2) { 35 System.out.print(i); 36 System.out.print(","); 37 sts--; 38 break;//ここまで 39 } 40 }System.out.println(""); 41 } 42 43 public static void change(int[] array,int i,int j) { 44 int tmp = array[i]; 45 array[i] = array[j]; 46 array[j] = tmp; 47 } 48} 49 50
試したこと
java Visualizerで見てみたところ、
上記ではsts=5の状態のままになってしまうことが原因のようですが、それ以上はどうすればいいかわからなくなってしまいました。
ほかにも
java
1//前後は省略しました 2for(int i:array) { 3 System.out.print(i); 4 System.out.print(","); 5}System.out.println(""); 6
java
1//前後は省略しました 2for(int k=0;k<6;k++) { 3 if(k<5) { 4 System.out.print(i); 5 System.out.print(","); 6 }else { 7 System.out.print(i); 8 } 9 10}
なども試してみましたがだめでした。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/17 15:46