public class Eval {
public static void main(String[] args) {
int operand1;
char exp1;
int operand2;
if (args.length != 3 ) {
System.err.println("*** Program needs 3 arguements***");
System.err.println("Usage: java Eval int1 exp int2");
System.exit(1);
}
operand1 = Integer.parseInt(args[0]);
exp1 = args[1].charAt(0);
operand2 = Integer.parseInt(args[2]);
System.out.print(args[0] + args[1] + args[2] + "=");
switch(exp1){
case('-'):
System.out.println(operand1 - operand2);
break;
case('+'):
System.out.println(operand1 + operand2);
break;
case('/'):
System.out.println(operand1 / operand2);
break;
case('*'):
System.out.println(operand1 * operand2);
break;
default:
System.out.println(" Error.Invalid operator.");
}
}
}
数学演算を行うプログラムです。現在、プログラムは整数の乗算以外はすべて実行できますが、なぜこのようなことが起こるのでしょうか? さらに、なぜ (Usuage: java Eval) 部分が必要なのですか? それがないと機能しません。これを回避する方法はありますか?最後に、引数が必要な理由。質問が多くて申し訳ありませんが、実際に何をしているのかを明確に理解していないまま盲目的にプログラムを書きたくありません。たくさんの質問をして申し訳ありません。