/*---------------------------------- Ex7_2.java 配列の利用:最大値・最小値を求める while文(繰り返し)の基本 -----------------------------------*/ package jp_bunkyo; import java.util.Random; public class Ex7_2 { public static void main(String[] args) { double[] x = new double[100]; // double 型の配列を宣言 Random rnd = new Random(); int i; double max, min; // 最大値・最小値を保持するための変数宣言 for ( i = 0; i < 100; i++ ) { x[i] = rnd.nextDouble(); // (0,1)-乱数を生成し代入 } for ( i = 0; i < 100; i++ ) { System.out.println(" x[" + i + "] = " + x[i]); // 配列 x[] の中身を表示 } System.out.println(); max = x[0]; // 最大値の候補としてx[0]を代入 min = x[0]; // 最小値の候補としてx[0]を代入 i = 1; while ( i < 100 ) { // 条件 i < 100 が成り立つ限り以下の{ }内を実行する if ( max < x[i] ) { // 現在の暫定最大値 max より x[i] のほうが大きいか? max = x[i]; // 暫定最大値を更新(上書代入) } if ( min > x[i] ) { // 現在の暫定最小値 min より x[i] のほうが小さいか? min = x[i]; // 暫定最小値を更新(上書代入) } i++; // index 変数 i を 1 増やす } System.out.println(" 最大値は " + max + " です."); System.out.println(" 最小値は " + min + " です."); } }