スポンサーサイト





上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

  • Comments (Close): -
  • TrackBack (Close): -

配列の数





オーソドックスな配列
  hairetsu[] = {1,2,3}
では、配列の要素の個数(3つですね)は、
  hairetsu.length
と書くことができます。

では、多次元配列の要素の個数はどのように書けばいいのでしょうか?

たとえば、A、B、Cの3つのグループがあるとして、人数がそれぞれ3人、5人、7人だとします。このグループの人たちに10点満点のテストをして、その結果が以下のようになったとします。
  A  5,7,9
  B  6,1,8,9,7
  C  3,6,8,2,7,4,8

これを多次元配列で表すと、
  test[][]={ {5,7,9},{6,1,8,9,7},{3,6,8,2,7,4,8} };
のようになります。

この配列要素を分解して考えると、A、B、Cで大きく3つに分かれ、それぞれの配列がさらに3つ、5つ、7つの配列要素をもつということになります。

フクザツですね。

でも大丈夫。読めばなるほど、シンプルに表すことができます。

まず、A、B、Cの大きい3つのブロックですが、オーソドックスな配列と同様に、
  test.length
と書けばOKです。

そしてそれぞれのグループの要素の数ですが、
  test[].length
のように書きます。

その上で、かっこ[]の中にグループを表す数字を入れて、どのグループの要素の数なのかを示します。

つまり、Aならtest[0].length、Bならtest[1].length、Cならtest[2].lengthという具合です。

最後に、A、B、Cの点数を出力するプログラムを作ってみましょう。



public class Sample
{
public static void main( String[] args )
{
char group[]={'A','B','C'};
int test[][]={ {5,7,9},{6,1,8,9,7},{3,6,8,2,7,4,8} };

for(int i=0;i<test.length;i++){

System.out.println(group[i]+":");

for(int j=0; j<test[i].length;j++){

System.out.println(test[i][j]);

}
}
}
}



簡単に解説します。

ここでは、iとjという2つの変数を使います。iはA,B,Cのグループの数(3つ)、jは各グループのメンバーの数です。

iは0,1,2と3回繰り返し処理を行います。そしてjのほうはというと、iが0のときに3回、iが1のときに5回、iが2のときに7回処理を行います。

test.lengthは3ですから、最初のfor文
for(int i=0;i<test.length;i++){
は3回処理を行います。

さらに、iが0のときに3回、iが1のときに5回、iが2のときに7回処理を行うのは、test[i].lengthと表すことができます。

なかなか複雑な式ですが、マスターしてくださいね。

関連記事

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

Comments:

k URL 2012-05-22 Tue 00:44:54

すいません最後のプログラムはfor文内の変数の構文が抜けてないでしょうか?

javamania URL 2012-05-23 Wed 12:48:55

HTMLのタグの関係でバグっておりました。ご指摘ありがとうございます。

修正しましたのでもう大丈夫だと思います。

k URL 2012-05-23 Wed 21:35:10

確認出来ました。有難う御座います。

javamania URL 2012-05-25 Fri 17:56:55

またお願いします。

Comment Form
Only inform the site author.

Trackback+Pingback:

TrackBack URL for this entry
http://javamania.blog25.fc2.com/tb.php/9-35f75f3a
  • 閉じるボタン
クラスライブラリ解説 目次
クラスライブラリとは
 ├ Java APIの調べ方
 ├ Objectクラスを調べる
 ├ ライブラリのインポート
 ├ 完全修飾クラス名を調べる
 ├ staticインポート
 ├ 外部ライブラリの利用

文字列を扱う
 ├ Stringとイミュータプル
 ├ StringBuilder 文字列の連結
 ├ toString()のオーバーライド
 ├ toXxCase() 大文字と小文字
 ├ compareTo() 値の比較
 ├ parseDouble() 文字を小数値に
 └ 文字列を抜き出す
 ├ char配列からString型へ変換
 ├ 空白文字の除去

日付を扱う
 ├ Calendar 現在の日付
 ├ Date 日付の表示

数値演算を扱う
 ├ round() 切上・切捨・四捨五入
 ├ BigDecimal
 ├ sqrt(),pow() 累乗と平方根
 ├ BigInteger
 ├ int型の最大値・最小値
 ├ random() 乱数作成

ファイルを扱う
 ├ ファイルの存在確認
 ├ ファイルを作成
 ├ ファイルの削除
 ├ ファイルサイズを調べる

入出力ストリーム
 ├ ファイルを読み込む
 ├ 画像ファイルのコピー
 ├ 日本語の読み込みと書き出し
 ├ バッファ入出力
 ├ データ型フリーの出力ストリーム
 ├ getBytes()メソッド

書式つき入出力
 ├ 書式を指定して出力
 ├ 引数インデックス
 ├ 整数値のフォーマット
 ├ 小数値のフォーマット
 ├ 九九の表のフォーマット

例外処理
 ├ printStackTrace()
 ├ NullPointerException
 └ NumberFormatException
月別アーカイブ
カテゴリ
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。