質問編集履歴

1

追記

2021/01/27 11:39

投稿

kt-
kt-

スコア5

test CHANGED
File without changes
test CHANGED
@@ -105,3 +105,109 @@
105
105
  `System.out.print(Arrays.toString(sort2(z,r)));`
106
106
 
107
107
  →同様のエラーメッセージ
108
+
109
+
110
+
111
+ ###指摘の通りに書き直したプログラムと課題
112
+
113
+ 指摘の通りにプログラムを書き直しました。
114
+
115
+ ```
116
+
117
+ public static void main(String[] args) {
118
+
119
+ int[]x={2,3,2,-1,-4};
120
+
121
+ int[]z={2,3,2,1,4};
122
+
123
+ int r=4;
124
+
125
+     sort1(x);
126
+
127
+ sort2(z,r);
128
+
129
+ }
130
+
131
+ public static void sort1(int[]x) {
132
+
133
+ for(int i=0; i<x.length; i++){
134
+
135
+ for(int j=0; j<x.length-i; j++){
136
+
137
+ if (Math.abs(x[i])<Math.abs(x[j])) {
138
+
139
+ int t = x[i];
140
+
141
+ x[i] = x[j];
142
+
143
+ x[j] = t;
144
+
145
+ System.out.print(x[i]);
146
+
147
+ System.out.println();
148
+
149
+
150
+
151
+ }
152
+
153
+ }
154
+
155
+ }
156
+
157
+ }
158
+
159
+ public static void sort2(int[]x,int r) {
160
+
161
+ for(int i=0; i<x.length; i++){
162
+
163
+ for(int j=0; j<x.length-i; j++){
164
+
165
+ if (x[i]%r < x[j]%r) {
166
+
167
+ int t = x[i];
168
+
169
+ x[i] = x[j];
170
+
171
+ x[j] = t;
172
+
173
+ System.out.print(x[i]);
174
+
175
+ System.out.println();
176
+
177
+ }
178
+
179
+ }
180
+
181
+ }
182
+
183
+ }
184
+
185
+ ```
186
+
187
+ しかし出力画面には
188
+
189
+ ```
190
+
191
+ 3
192
+
193
+ -4
194
+
195
+ -4
196
+
197
+ -4
198
+
199
+ 2
200
+
201
+ 3
202
+
203
+ 3
204
+
205
+ 3
206
+
207
+ 2
208
+
209
+ 1
210
+
211
+ ```
212
+
213
+ と表示されるのですが、これはどこの部分が違うからなのでしょうか。色々変えてみましたが分からなかったので、ご教授願えると幸いです。