Javaの初学者用学習サンプルとして、電卓アプリを作りました。
以下の環境では、実行できます。
lang
1C:\Users\PC USER\Documents\NetBeansProjects\dentaku1\build\classes>env|grep CLASSPATH 2CLASSPATH=. 3 4C:\Users\PC USER\Documents\NetBeansProjects\dentaku1\build\classes>java dentaku1 5.Dentaku1 100 "*" 200 6100 * 200 = 20000
ところが NetBeans 上では、うまくいきません。
プロジェクト>プロパティ>実行
>メイン・クラス:dentaku1.Dentaku1
>引数:100 "*" 200
lang
1実行結果(dentaku1(debug)): 2debug: 3Usage: java dentaku 数値 演算子 数値 4演算子は + - * / の4つです: build 5ビルド成功(合計時間: 1秒)
エラーを出力している箇所のソースは以下の通りです:
lang
1 if (args.length != 3) { 2 System.out.println("Usage: java dentaku 数値 演算子 数値"); 3 System.out.println("演算子は + - * / の4つです: " + args[1]); 4 System.exit(0); 5 }
http://d.hatena.ne.jp/thinca/20100210/1265813598
によると、Linux 等とは異なり * は シェル(cmd.exe)では解釈されない
ように読めるのですが、NetBeans の場合はどう見ても * がファイル名
(ディレクトリ名)に展開されているようにしか思えません…。
ちなみに引数として "*" 以外の +-/ を渡す場合は正しく動きます。
開発環境に慣れていないため、そもそもjavaの問題なのかNetBeans
の問題なのかの切り分けさえついていません。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/06/15 03:47