mac(Mavericks)でjavaのversionをあげる。
やっちまった履歴。 macのシステムで利用しているjavaのversionが1.6.0_65だったので なんとなく7にしたくなりDL。 [手順] ブラウザでjava mac インストールで検索。 手順に従い、DLー>インストール
ターミナルを立ち上げる。 $ java -version、あれ。変わってない。
小一時間悩み、検索したところわかったこと。 何で無理矢理システムで使ってるパスを変更しているサイトが多かったのか。 理解に苦しんだ挙句、結論は以下のとおり。
jdkを必要としていたのに見ていたのはjre。 だからか。 そりゃ、無理だわ。 んで、OracleさんのところからjdkをDL、インストール、確認したところあっさり終わり。
でも、もう8でてるんだ。 どうしようかね。
引数を表示する。
例によっていつもどおり使っているのはこの本。
そして、単純に文字を表示することは出来た。
次は、引数を入力した分だけ表示する。
例えば、
とした時に、
2つ目のsample.javaはプログラム名
3つ目の1と4つ目の2が引数。
P.141 のsample14.javaを参考にargs[0],args[1]をprintlnで表示。
確かに表示することはできる。(本の通りにやっているから)
ただ、以下の場合には支障がでてくる。
●引数を入力しなかった場合
●引数を2つ以上入力した場合
[出した答え]
□if文で場合分けすればわけられそうだ!
引数の数を数えるには。。
参考P.133〜で、配列名.length
args.lengthが0の時
args.lengthが1の時
args.lengthが2の時
ということで、やってみた。
class sample14{ public static void main(String[] args){ if(args.length == 1){ System.out.println("引数2つ入れてくれないとやだ。"); System.exit(1); }else if(args.length == 0){ System.out.println("ひきすう2ついれて!"); System.exit(1); }else{ System.out.println("第1引数:" + args[0]); System.out.println("第2引数:" + args[1]); System.exit(1); } } }
ここでの問題点。
●3,4と引数を増やした場合は対処しきれてない。
●System.exit(1);を複数書かなければならなず、キレイじゃない。
[助言を頂き出した答え]
□for文で条件が一致する間回せばいい!
P.156〜のforの説明を読んでみる。
for(初期値;終了条件;ループ条件){
条件が一致する間行う処理
}
forとifの合わせ技でやればいいんだ!
forで引数の回数を管理
ifで回数が0回、1回、それ以上の時の管理
で出来上がったのが、以下のとおり
public class sample14b{ public static void main(String[] args){ int i; if(args.length == 0){ System.out.println("引数を1つでもいれて!"); }else{ for(i = 0;i < args.length;i++){ System.out.println("第"+ (i+1) +"引数:" + args[i]); } } } }
我ながらよくやった。
javaをはじめる。参考書はコレ。
前回、javaをはじめたって書いてから
実は、翔泳社に問い合わせのメールをしていた。
著作権の観点からどこまでの内容を書いていいのか。
ブログに載せるならどうすれば載せていいのか。
それで回答が来たので、簡潔に書きます。
「内容をそのまま載せるのはダメ」
「プログラムは一部改変すればOK」
「参考図書として書籍名を書いてね」
ってことでした。
僕がお勉強で今利用している本はコレ。