配列の表示の仕方に関しての質問です。
整数のデータ(1000個以下)を読み込み、上から10個、数の大きい順に表示するプログラムを作りたいのですが、その時に要素が10個未満だとデータの入っていないインデックスも表示されてしまいます。
要素が10個未満でデータの入っていないインデックスが表示されないようにするにはどうしたらいいでしょうか?
説明わかりにくくてすみません。よろしくお願いします。
import java.util.Scanner;
public class ranking {
public static void main(String[] args) {
Scanner kbd = new Scanner(System.in);
int data[] = new int[1000];
int n = 0;
int temp;
while(kbd.hasNext()) { data[n] = kbd.nextInt(); n++; } if(n == 0) { System.out.println("No Data"); }else{ for(int i= 0; i<n-1; i++) { for(int j = i+1; j<n; j++) { if(data[i]<data[j]) { temp = data[i]; data[i] = data[j]; data[j] = temp; } } } for(int i = 0; i<10; i++) { System.out.printf("data[%d]=%d\n",i,data[i]);c } } } }
8,6を入力した時
data[0]=8
data[1]=6
data[2]=0
data[3]=0
data[4]=0
data[5]=0
data[6]=0
data[7]=0
data[8]=0
data[9]=0
と表示されるが、
data[0]=8
data[1]=6
にしたい。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/09/24 11:47