• 締切済み

コマンドライン引数の疑問

Java勉強中のひよっこです。コマンドライン引数の合計を 求めるプログラムを組んだのですが、整数にマイナス記号を付けた 計算は、ちゃんと実行されるのに、プラス記号だとエラーが発生します。これは、何故なのでしょう??どうすればプラス記号を付けても 実行できるのでしょうか?どなたかご教授お願い致します。

  • Java
  • 回答数2
  • ありがとう数1

みんなの回答

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.2

ドキュメントを引用 --------------------- parseInt public static int parseInt(String s) throws NumberFormatException 文字列の引数を符号付き 10 進数の整数型として構文解析します。 文字列にある文字はすべて、10 進数でなければなりません。 ただし、1 番目の文字だけは、負の値を表すためにマイナス記号の ASCII 文字「-」(「\u002D」)であってもかまいません。 ---------------------- というわけで "+" は数字でないのでダメみたいですね。

ZIGSAW
質問者

お礼

ご回答ありがとうございます。 なるほど。parseIntでは判断してくれない訳ですね。 自分なりに調べてみます。ありがとうございました。

回答No.1

もう少し情報が無いと、少し難しそうです。 どんな文章(関数)を書いてるのでしょうか?

ZIGSAW
質問者

補足

ご回答ありがとうございます。 ほんとに簡単なものです。たとえば、こんなカンジです。 class gokei{ public static void main(String[] args){ int num1 = Integer.parseInt(args[0]); int num2 = Integer.parseInt(args[1]); System.out.println(num1 + num2); } } こんなカンジのプログラムです。よろしくお願い致します。

関連するQ&A

  • コマンドライン引数

    1~10の整数のコマンドライン引数を受け取り、それと等しい英語及び受け取った引数の数を表示するプログラムを作りたいのですがわかりません。 引数がない場合、1~10以外の整数の場合はエラーメッセージを表示させてプログラムを終了するようにしたいです。 出力する英語の文字列は String 配列に格納するようにします。 実行結果です。 % java englishNum 2 3 1 Two Three One length : 3 % java EnglishNum No Parameter! % java EnglishNum 30 Only 1-10!

    • ベストアンサー
    • Java
  • コマンドライン引数の例外処理について

    整数a、bをコマンドライン引数として受け取るプログラムを作成するとします。この時、入力するコマンドライン引数を整数であるa、b2つのみとします。 次の事柄について教えて下さい。 (1)コマンドライン引数を2個入力しなかった時の例外処理の仕方 (例えば、コマンドライン引数を入力しなかったり3個入力した時) (2)整数のコマンドライン引数を入力しなかった時の例外処理の仕方 (例えば、「abc」などと入力した場合) (3)コマンドライン引数を数の小さいものから入力しなかった時の処理の仕方 (例えば、「3 5」ではなく「5 3」と入力した場合) 初心者なもので…。どなたかお教え下さい。宜しくお願いします。

    • ベストアンサー
    • Java
  • コマンドライン引数について

    コマンドライン引数について opencvのサンプルを試しているのですが、困っています。 xcodeでビルドするとビルドは問題ないのですが、実行できない状態のものがあります。実行できないものは「デバックは正常に終了しました」や「ステータス255で終了しました」と出てしまいます。 前回の質問でコマンドライン引数が問題ではないか?とアドバイス頂き、色々と調べたのですが、main関数がコマンドライン引数をとることは理解出来たところで止まっています…。引数の指定の方法がわからず、Terminalから指定しようとexeファイルを開けて入力しようとしてみるのですが「プロセスは完了しました」と出てしまい、入力することができません… このやり方があっているかわからず、混乱しています。もし、検討違いのことを言っていたらすみません。 誰か引数の指定方法についてご存知であれば、アドバイス頂けないでしょうか? よろしくお願い致します。

  • コマンドライン引数の*(アフタリスク)の表示について教えて下さい

    皆様どうぞよろしくお願い申し上げます。アドバイス下さい。 java言語で質問です。調べたかぎりわからないことが起こりました。次のものです。コマンドライン引数で引数1は数字、引数2は数字、引数3は* で表示させるプログラムを作りました。引数3番目の演算子*(アフタリスク)を表示する場合にうまく表示できません。 C:\java>java test 2.0 15.0 * 2.0 15.0 Calculation.class ←表示されません。 プログラムは以下のものを作りました。見てください。 /** * 実行クラス:引数テストクラス */ class test{ public static void main(String args[]) { //引数を取得 double num1 = Double.parseDouble(args[0]); //引数1(数値) double num2 = Double.parseDouble(args[1]); //引数2(数値) String kigou = args[2]; //引数3(計算記号) //画面に出しています。 System.out.println(num1); System.out.println(num2); System.out.println(kigou); } }

  • コマンドライン引数はどこからやって来たのですか?

    こんにちは Javaで、 public static void main(String args[]) という引数は、どこからやって来たのでしょうか? これがコマンドラインに初めて書かれる文だとしたら、どこから引数を貰うのでしょうか? また、2番目に書いたクラスだったとしても、他のクラスのなかのものをそんな簡単に貰うことはできるのでしょうか? もし宜しければ回答お願い致します。

    • ベストアンサー
    • Java
  • calc.exeのコマンドライン引数の渡し方

    windows付属の電卓プログラムcalc.exeですが、 コマンドライン引数で値を渡し、計算させて その結果を取得することは可能なんでしょうか?

  • コマンドライン引数の使い方

    [プロジェクトプロパティ]の[実行可能ファイルの作成]のコマンドライン引数の設定方法、使い方がよくわかりません。VBのヘルプを見てもいまいちです。具体的な利用例を使って教えて下さい。

  • コマンドライン引数って・・・?

    java言語を勉強中です。 コマンドライン引数って何ですか? 検索しても本を読んでもイマイチ理解できません…。 どこの部分に、どの様な形式で記入すればいいのでしょう? またその記入によって何が実行されるのですか? すいませんが、全くの初心者なので分かりやすく説明して 頂けませんか? 宜しくお願いします。

    • ベストアンサー
    • Java
  • コマンドラインの長さに制限はある?

    Windowsでプログラムを実行する時に、コマンドライン引数を渡す事ができますよね。例えば「myprogram.exe」というプログラムを実行する時に、 myprogram /help と言う風に「/help」を付けると、この文字列がそのままWinMain関数の第三引数「LPSTR strCmdLine」に渡されます。 そこで質問ですが、このコマンドライン引数の長さに制限はあるのでしょうか?

  • コマンドプロンプトを使用してのコマンドライン引数

    winXPのコマンドプロンプトを利用して 参考書「独習C」を使い、C言語の学習をしています。 その本の7.4の項目~main()の引数~で main(int argc,char *avgv[])を利用すると コマンドラインから引数をとることができるとありますが 私の学習環境ではうまくいきません。 具体的には #include <stdio.h> int main(int argc, char *argv[]) { int i; for(i=1; i<argc; i++) printf("%s ", argv[i]); return 0; } というプログラムを実行しても何も表示されません。 どうすればコマンドライン引数を利用できますか?

専門家に質問してみよう