JAVA 引数 と コマンドライン
電卓の勉強をしていてふと疑問に感じたので
これ
if (args.length != 3){ System.out.println("Usage : java dentaku 数値 演算子 数値"); System.out.println("演算子は kake waru tasu hiku の4つです"); System.exit(0); /* プログラムを終了する */ }
これだけだと 文字数3でダメ?
と最初思いましたが
length はC# JAVA
関係なく文字列の長さの取得。
詳しくはこのページ
配列変数名.length
例えばコマンドライン引数が必ず1つ指定されていなければいけない場合、例えば次のような記述を行います。
public static void main(String args[]){ if (args.length != 1){ System.out.println("引数を1つ指定して下さい"); System.exit(1); } /* 本来行うべき処理 */ }
とりあえず、は
public static void main(String args[])
()内はString型の 変数名args[] 配列 なので、
ここにコマンドラインの引数を入れる
{
とうぜん配列なので
args[0] = test1
args[1] = test2
args[2] = test3
if (args.length != 1){
んでややこしいのが、
配列の個数が length=個数 扱いのため、
(args.length != 1)が成り立つ
C#でもこの処理結構見たので前から疑問だったけど。
これでとりあえず、はOK
それにしても
C#で実践して、
疑問のあるのはJAVAで調べる。
みたいな形になってきてる
Main Weapon ; C# 実践
Sub Weapon ; Java 理論
プログラミングは考える前に動かす。
とりあえず、書きゃええねん。
C#はフォームあるから便利だけど
正直、ちゃんと動かせるようになるまではコンソールアプリケーション
を動かした方がいいな。
フォームはちゃんと理解してないと管理ができない。
class dentaku1{ public static void main(String args[]){ int val1 = 0; /* 最初の数字 */ int val2 = 0; /* 次の数字 */ String ope; /* 演算子 */ if (args.length != 3){ System.out.println("Usage : java dentaku 数値 演算子 数値"); System.out.println("演算子は kake waru tasu hiku の4つです"); System.exit(0); /* プログラムを終了する */ } val1 = Integer.parseInt(args[0]); val2 = Integer.parseInt(args[2]); ope = args[1]; System.out.println("入力された式は " + val1 + " " + ope + " " + val2 + " です"); } }