>  > 【特価キャンペーン中】 BL レガシィ セダン B4 サクションパイプ【エッチケーエス】レガシィB4 BL5 プレミアムサクションキット TA-BL5 EJ20Y/EJ20X 03/05-06/05
225/40R18 サマータイヤ タイヤホイールセット 【送料無料】 Verthandi YH-S25 18x7.5 48 114.3x5 BK/POLISH + DUNLOP DIREZZA DZ102 225/40R18 92W XL (225/40/18 225-40-18) 夏タイヤ 18インチ 送料無料(一部離島除く) KARO カロ フロアマット クエスト トヨタ ヴェルファイア(2008~2015 20系 GGH20W) フジコーポレーション 【送料無料】 205/50R17 17インチ MONZA モンツァ JPスタイルジェリバ 7J 7.00-17 FALKEN ジークス ZE914F サマータイヤ ホイール4本セット ロウエン フェアレディZ Z34 PREMIUM Edition サイドステップ

【特価キャンペーン中】 BL レガシィ セダン B4 サクションパイプ【エッチケーエス】レガシィB4 BL5 プレミアムサクションキット TA-BL5 EJ20Y/EJ20X 03/05-06/05

【特価キャンペーン中】 BL 4本 レガシィ セダン B4 Razee サクションパイプ【エッチケーエス】レガシィB4 BL5 プレミアムサクションキット TA-BL5 EJ20Y/EJ20X 03/05-06/05

プログラムの中のmainの部分に文字列の配列があります。

public static void main( String[] args ) {

これはargsという名前の文字列の配列の宣言です。

次のように書いても同じです TOYO WINTER TRANPATH TX ウィンタートランパス スタッドレス スタッドレスタイヤ ● 195/65R15 ブリヂストン ECOFORM エコフォルム SE-15 ホイールセット 4本 15インチ 15 X 5.5 +42 4穴 100。

public static void main( String args[] ) {

args は変数名なので何を使ってもいいのです。人によっては 別の名前を使います 。

public static void main( String[] argv ) {

この配列はコマンドライン引数を受け取るためにあります。

BL BL レガシィ サクションパイプ【エッチケーエス】レガシィB4 セダン B4 EJ20Y/EJ20X プレミアムサクションキット BL5 【特価キャンペーン中】 B4 03/05-06/05 TA-BL5

コマンドライン引数とは、次のようなものです。

$ java ArgTest 10 20 abc

ArgTest という java プログラムにとって、10 20 abc が引数となります。(コマンドラインという言葉は命令を1行に書いてEnterで実行させるところから来ています)この引数が、次の main の(  )の中の文字列の配列に読み込まれます。

public static void main( String[] args ) {

その結果空白を区切りとして3つの要素があると判断され、次のように代入されます。

args[0]args[1]args[2]
1020abc

使い方

ファイル名 ArgTest.java

/** コマンドライン引数のテスト */
public class ArgTest { 
 public static void main( String[] args ) {
 System.out.println ( args[0] );
 System.out.println ( args[1] );
 System.out.println ( args[2] );
 } 
}

コンパイル後実行すると次のようになります。

$ java ArgTest 10 20 abc
10
20
abc

このプログラムは args[2] を参照していますから、引数が3より少ないと実行時にエラーになります。

$ java ArgTest aaa bbb
aaa
bbb
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at ArgTest.main(ArgTest.java:8)

多い場合は無視されるだけです。

課題

1.

コマンドラインから2人の名前を受け取って挨拶を表示するプログラムを作りなさい。

ファイル名 Aisatsu2.java

System.out.println( args[0] + "さん こんにちは" );
System.out.println( args[1] + "さん こんにちは" );
System.out.println( "あいさつがおわりました 【店舗取付サービス】【200 ハイエース ワイド   セカンドハウス】ハイエース 200系 1・2型 ワイドボディ ヴォーグ フロント・サイド・リア3点セット(スーパーロング用) キャンパー特装車。" );

次のように表示されるようにします。

$ java Aisatsu2 鈴木 田中
鈴木さん こんにちは
田中さん こんにちは
あいさつがおわりました。

実行時に引数が2つ以上ないとエラーになりますが現段階ではしかたありません。

注意 いつもの様に引数なしで実行するとエラーになります。

$ java Aisatsu2
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Aisatsu2.main(Aisatsu2.java:X)

引数を次の様に2つ以上加えなければなりません。(漢字でなくても文字であれば何でも)

$ java Aisatsu2 加藤 佐藤

2.

2つの引数を入れて実行すると、足し算をするプログラムを作りなさい。

ファイル名 Tasu.java

/** 2つの引数の和を求める */
public class Tasu { 
 public static void main( String[] args ) {
 int a = Integer.parseInt( args[0] );
 int b = Integer.parseInt( args[1] );
 System.out.println ( a + b );
 }
}

コマンドライン引数は必ず文字列です。 10 は 10 でなくて、"10" なのです SJ フォレスター LSD【クスコ】フォレスター SJ5 (12.11~) 6MT/CVT リア Spec-F LSD 標準デフ:オープンデフ Type MZ 1.5WAY(1.5&2WAY)。もし、次のようにそのまま + で演算すると結果は足し算でなく連結になります。

System.out.println ( args[0] + args[1] );

これを数値として使用するためには、変換が必要です。次の様にします 【送料無料】 F:225/40R18 R:255/35R18 SSR エグゼキューター EX02 F:8.50-18 R:9.50-18 YOKOHAMA ヨコハマ ブルーアース A(AE50Z) SALE サマータイヤ ホイール4本セット【YOsum18】。

Integer.parseInt( args[0] )

これで、args[0] が "10" の時に、10という数値を得ることができます マツダ プレマシー CR#W 18インチ スタッドレス・アルミセット 一台分(4本セット) JOKER MAGIC SILVER/GOODYEAR 215/40R18 プレマシー 18インチスタッドレス・アルミセット 215/40R18 18×7.5J 53。このまま計算をすることもできますし,次のようにint型の変数に代入することもできます。

int a = Integer.parseInt( args[0] );

もし,doubleにする必要があるなら次のようにします。

double a = Double.parseDouble(args[0]);

コンパイル後実行すると次のようになります。

$ java Tasu 23 45
68

このプログラムも、引数が2より少ないと実行時にエラーになります。

$ java Tasu
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Tasu.main(Tasu.java:6)

3.

2.のプログラムを改良して式も表示するようにしなさい。

ファイル名 Tasu2.java

$ java Tasu 23 45
23 + 45 = 68

ちょっとヒントです。まだ不足しています。

【特価キャンペーン中】 BL レガシィ セダン B4 サクションパイプ【エッチケーエス】レガシィB4 BL5 プレミアムサクションキット TA-BL5 EJ20Y/EJ20X 03/05-06/05

/** 2つの引数の和を求める */
public class Tasu2 { 
 public static void main( String[] args ) {
 System.out.print( args[0] );
 System.out.print( args[1] );
 int a = Integer.parseInt( args[0] );
 int b = Integer.parseInt( args[1] );
 System.out.println ( a + b );
 }
}

Javaプログラミング(May.2011)
聖愛中学高等学校
NANKANG TIRE ナンカン NS-20 サマータイヤ 245/35R19 WEDS ウェッズ Kranze クレンツェ Felsen 358EVO ホイールセット 4本 19インチ 19 X 8 +48 5穴 114.3 18インチ サマータイヤ セット【適応車種:アルファードハイブリッド(30系)】HOT STUFF シュティッヒ レグザス フォーブス ハイパーシルバー/ポリッシュ 8.0Jx18トランパス mpZ 235/50R18 18インチオデッセイRC系AXEL  アクセル グレール ブラックミラーカット/ブラッククリア 7.0Jx18エナセーブ RV504 225/45R18 http://www.seiai.ed.jp/
{yahoojp} {seiai.ed.jp}
{yahoojp}jpprem01-zenjp40-wl-zd-3770