【コマンドラインに与えた数値の合計】

コマンドラインに与えたデータは文字列の配列としてプログラムに渡されます。 たとえば下図のようなデータを与えたとしましょう。

main メソッドのパラメタが (String[] args) であれば、 下図のようなデータ構造が作成され main メソッドの実行が始まります。

データの合計を求めたければ、

Integer.parseInt(args[0]) + Integer.parseInt(args[1]) + Integer.parseInt(args[2]) + Integer.parseInt(args[3])
と書くことができます。

データの個数がいつも4個と決まっていない場合は次のような計算になります。

sum = 0;
sum = sum + Integer.parseInt(args[0]);
sum = sum + Integer.parseInt(args[1]);
sum = sum + Integer.parseInt(args[2]);
sum = sum + Integer.parseInt(args[3]);
sum = sum + Integer.parseInt(args[4]);
   ...

つまり、合計を求めるソロバンのようなものを用意して、最初に 0 にしておき、 データのあるだけ順に足しこんでいきます。

2行目は、sum の内容と args[0] の内容(を整数に変換したもの)を加算し、 sum に格納するという意味です。 あるいは、sum という名前がついたデータと、 args[0] という名前がついたデータを加え、 sum という名前を付ける、と読んでもかまいません。

2行目以降は、共通のパターンで

sum = sum + Integer.parseInt(args[i]);
i の部分が 0 から args.length - 1 まで変わります。

これを for 文で表すと

for(int i=0; i<args.length; i++) {
sum = sum + Integer.parseInt(args[i]);
}
になります。

中カッコの中には文が1つしかありませんから、次のようにも書けます。

for(int i=0; i<args.length; i++) sum = sum + Integer.parseInt(args[i]);

さらに、Javaらしく次のようにも書けます。

for(int i=0; i<args.length; i++) sum += Integer.parseInt(args[i]);

Top Page