最近、配列のintをとり、それらを最大から最小の別の配列に配置するプログラムを作成しましたが、ネガティブを挿入すると機能しません。負の整数ではなく0を出力します。配列内の整数を最大から最小にソートする。負のintは動作しません
import java.util.Arrays;
public class g2lArrays2 {
public static void main(String[] args) {
int[] nums = {15,31,7,2,7};
int[] place = new int [nums.length];
int[] definer = new int [nums.length];
int a = 0,b = 0,c;
place[0] = a;
place[1] = 1;
for (int i1 = 0; i1<place.length; i1++) {
for (int i = 0; i<nums.length; i++) {
if (nums[i] > a) {
place[i1]=nums[i];
a=place[i1];
definer[i]=1;
}
}
a = 0;
for (c = definer.length-1; b==0 && c>-1; c--) {
if (definer[c]==1) {
b=c;
}
}
nums[b]=0;
b=0;
for (int i2 = 0; i2<definer.length; i2++) {
definer[i2]=0;
}
}
System.out.println(Arrays.toString(place));
}
}
これは別の方法で動作しますが、私が述べたように、負の整数ではありません。だから私は何が間違っているのか、このプログラムをより効率的にソートする方法があるのか不思議です。すべてのフィードバックは高く評価されます。
コレクションのソートにはさまざまな方法がありますが、いくつかの洞察のためには[ソートアルゴリズム](https://en.wikipedia.org/wiki/Sorting_algorithm)を調べることをおすすめします。 – Immac
@Mureinikそれはおそらく宿題です。 – Immac
これをデバッガで実行することを強くお勧めします。 –