Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

原因不明

配列を降順に並び替えて新しい配列を作ることが目的のプログラムです。
@@@の部分を0にするとうまく動くのですが、
1にすると一部数字が抜けてしまいます。
原因がわからないためもしわかる方いましたらお教えください。

import java.util.Random;
class jojo{
    public static void main(String[] args){
        Random rdm=new Random();
        int hai[]=new int[20];
        int hai2[]=new int[20];

        for(int i=0;i<hai.length;i++){
            hai[i]=rdm.nextInt(50);
            System.out.print (" "+hai[i]);
        }

        System.out.println();
        
        int maxP=0;
        for(int t=0;t<hai.length;t++){
            for(int i=@@@;i<hai.length;i++){
                if(hai[maxP] < hai[i]){
                    maxP=i;
                }
            }
            hai2[t]=hai[maxP];
            hai[maxP]=0;
        }

        for(int i=0;i<hai2.length;i++){
            System.out.print (" "+hai2[i]);
        }

    }
}

1

回答

90234

閲覧

1件の回答

評価

0

途中の状態をループカウンタと共に逐一出力してみれば、判るのではないか。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。