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

回答

477

閲覧

1件の回答

評価

0

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

回答する

ログインしていません。

ログインしなくても回答はできますが、ログインすると、質問・回答の管理、更新があった場合のメールでの通知を受けることができます。 アカウントをお持ちでない方は会員登録を行ってください。

ユーザ名匿名