java version 1.5 以降では、もう少し簡単な for の書き方が可能になっています。
public class Aisatsueach { public static void main( String[] args ) { for ( String name : args ){ System.out.println( name + "さん こんにちは"); } System.out.println( "あいさつがおわりました。" ); } }
これはargsがStringの配列なので、その要素をnameというStringの変数の中に代入して、argsの全要素について繰り返すという意味です。
nameは自分で決める変数なので、名前は自由に決めることができます。
コマンドラインから複数の名前を受け取って挨拶を表示するプログラムを作りなさい。
上記そのままです。
次のように表示されます。
$ java Aisatsueach 鈴木 田中 佐藤 鈴木さん こんにちは 田中さん こんにちは 佐藤さん こんにちは あいさつがおわりました。
複数の数値を引数として与えると全部の和を計算するプログラムをつくりなさい。
「2つの引数を入れて実行すると、足し算をするプログラム(Tasu.java)」を参考に。
コマンドライン引数の課題2.にあります。
public static void main( String[] args ) {
なので配列名はargsです。
for each を使うには
for ( String kazu : args ) {
です。数値を引数にとったとしても、mainの引数は文字列に決まっていますので、String[] args と文字列になっていることを忘れずに。
kazuはargsから一つ取ってくるデータを入れる変数ですが、argsが文字列なのでkazuも文字列です。kazuという名前は自分がわかりやすいものを選べます。
これを数値に直すには、整数と分かっているなら
Integer.parseInt(kazu);
小数点を含む数が入っている可能性があるなら
Double.parseDouble(kazu);
を使います。
どんどん足していくので、
s = s + n ;
または省略形で
s += n ;
とすればよいでしょう。
配列と繰り返しの Goukeifor.java も参考になります。