プロが教える店舗&オフィスのセキュリティ対策術

試しに1から150までの中から数字を1つ10回取得しコマンドプロンプト上に表示するというプログラムを作成しました。しかし、コンパイルはできたのですが、変な文字が表示されてしまいます。このプログラムではだめでしょうか?
import java.util.*;
import java.lang.*;
public class hairetu {

public static void main(String[] args) {
Random generator = new Random();
int hairetu[] = new int[10];
for(int i=0; i<10; i++){
int ran = (int)(Math.random() * 150);
hairetu[0]=ran;
hairetu[1]=ran;
hairetu[2]=ran;
hairetu[3]=ran;
hairetu[4]=ran;
hairetu[5]=ran;
hairetu[6]=ran;
hairetu[7]=ran;
hairetu[8]=ran;
hairetu[9]=ran;
}
System.out.println(hairetu);
}
}

A 回答 (2件)

System.out.println(hairetu);


これではhairetuオブジェクトの値を出力してしまいますね。
hairetuの中身を出力したいのですから#1の方の仰るように
for(int i=0; i<10; i++){
hairetu[i]=(int)(Math.random() * 150);
System.out.println(hairetu[i]);
}
としなければだめですね。
    • good
    • 0
この回答へのお礼

まとめていただいて、ありがとうございます!!^^/うまくいきました。

お礼日時:2003/11/01 04:04

>このプログラムではだめでしょうか?



はい、だめです。

>hairetu[0]=ran;
> :
>hairetu[9]=ran;

では同じ数字が全部の配列にはいるので、目的とした事は出来ていません。
hairetu[i]=ran;
の一行で目的の事が可能です。

>System.out.println(hairetu);

も、無理です。
for(int i=0; i<10; i++){
System.out.println(hairetu[i]);
}
で、表示可能になります。
    • good
    • 0
この回答へのお礼

うまくコンパイルすることができました。ありがとうございました^^

お礼日時:2003/11/01 04:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!