第16回 「配列変数を使ってランダムにメッセージを表示する」
			
			 今回は配列変数を使ってランダムにメッセージを表示することにします。これまでのプログラムは以下のものでした。(これはswitch〜caseを使わないものです)
			 
			<html>
			<head>
			<title></title>
			</head>
			<body>
			<script language="JavaScript"><!--
			n = Math.floor(Math.random() * 4);
			if (n == 0)  document.write("こんにちは<br>");
			if (n == 1) document.write("いい天気<br>");
			if (n == 2) document.write("みたいですね<br>");
			if (n == 3) document.write("おしまい<br>");
			// --></script>
			</body>
			</html>
			
			 ここで前回やった配列を思い出しましょう。配列を参照するには
			 
			配列変数名[ 参照番号 ]
			
			のように指定します。参照番号は数字を直接書くだけでなく変数を指定して、その値も利用できると書きました。そこで、乱数を生成したら、その値を配列変数の参照番号として使うようにします。そして、配列には、あらかじめ表示するメッセージを入れておきます。実際のプログラムは以下のようになります。
			
			<html>
			<head>
			<title></title>
			</head>
			<body>
			<script language="JavaScript"><!--
			msg = new Array();
			msg[0] = "こんにちは<br>";
			msg[1] = "いい天気<br>";
			msg[2] = "みたいですね<br>";
			msg[3] = "おしまい<br>";
			n = Math.floor(Math.random() * 4);
			document.write(msg[n]);
			// --></script>
			</body>
			</html>
			
			 今までの説明で、だいたい分かる範囲ではないかと思います。でも、よく見ると表示するメッセージ全部の最後に<br>タグが書かれています。メッセージを変更したり、追加するたびに<br>タグを入力していたのでは面倒です。そこで以前に説明したdocument.write()に複数のパラメータを記述するようにしてみます。実際のプログラムは以下のようになります。
			 
			<html>
			<head>
			<title></title>
			</head>
			<body>
			<script language="JavaScript"><!--
			msg = new Array();
			msg[0] = "こんにちは";
			msg[1] = "いい天気";
			msg[2] = "みたいですね";
			msg[3] = "おしまい";
			n = Math.floor(Math.random() * 4);
			document.write(msg[n],"<br>");
			// --></script>
			</body>
			</html>
			
			 これで、やっとできました。
			 しかし、このプログラムには汎用性がありません。汎用性は変更に強いか、融通が利くかどうか、です。例えばメッセージを1つ追加してみましょう。
			 
			<html>
			<head>
			<title></title>
			</head>
			<body>
			<script language="JavaScript"><!--
			msg = new Array();
			msg[0] = "こんにちは";
			msg[1] = "いい天気";
			msg[2] = "みたいですね";
			msg[3] = "おしまい";
			msg[4] = "やっぱり再開?";
			n = Math.floor(Math.random() * 5);
			document.write(msg[n],"<br>");
			// --></script>
			</body>
			</html>
			
			 msg[4]〜の行を追加しただけでなく、その下の行の数字が4だったのを5に直しています。メッセージを追加するたびに2か所も変更しなければいけないとなるとミスも発生しますし、何よりも面倒です。
			 
			 そこで次回は、このプログラムをさらに改良し汎用性を持たせてみましょう。