-3
public class Calculator {
public static void main(String[] args) {
if (args.length < 3) {
System.out.println("Usage: java Calculator operand1 operator operand2");
System.exit(0);
}
int result = 0;
switch (args[1].charAt(0)) {
case '+':
result = Integer.parseInt(args[0]) + Integer.parseInt(args[1]);
break;
case '-':
result = Integer.parseInt(args[0]) - Integer.parseInt(args[1]);
break;
case '*':
result = Integer.parseInt(args[0]) * Integer.parseInt(args[1]);
break;
case '/':
result = Integer.parseInt(args[0])/Integer.parseInt(args[1]);
break;
}
System.out.println(args[0] + ' ' + args[1] + ' ' + args[2] + " = " + result);
}
}
當我跑在終端Calculator.java
,我嘗試了一些方法是這樣的:如何調用一個java main函數?
Rasperry:src maggiesmac$ javac Calculator.java
Rasperry:src maggiesmac$ java Calculator 1+2
Usage: java Calculator operand1 operator operand2
Rasperry:src maggiesmac$ java Calculator 1 + 2
Exception in thread "main" java.lang.NumberFormatException: For input string: "+"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:572)
at java.lang.Integer.parseInt(Integer.java:615)
at Calculator.main(Calculator.java:15)
Rasperry:src maggiesmac$ java Calculator.main(1,+,2)
-bash: syntax error near unexpected token `('
所以,我怎麼能調用Java main()
方法?我應該如何傳遞參數給它?
你怎麼看'的Integer.parseInt(參數[1]'用呢命令行參數'1 + 2'?你認爲例外情況是怎麼告訴你的? –
你確實調用了主函數,如果你真的讀到輸出,你會發現有語法錯誤 –
你的主函數被調用,這不是問題,看看錯誤信息,你試圖把某些東西解析成一個整數,顯然不是一個整數 –