switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":
' s5 m% Q( N7 z! z. J因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:1 I* l% g" A+ _; F
: H8 Y9 J9 z- a2 |1 Bpublic class TQC206
/ b7 c; V* ~% S$ I9 @) G{! M) L& a" N; n9 ?) F' p8 P4 B0 I
public static void main(String args[])' x9 [( s9 i2 g' L7 `
{
! p$ T. m6 l9 e# P; _ float a,b;, |, B: x6 t) |- F7 y% }
String calc;' D, A; ~" ^ s5 ^! s+ H1 G
try{
. V7 h! X0 r# c2 n if(args.length==3){2 K/ ?9 c3 v2 I
a = Float.parseFloat(args[0]);$ F5 b @; g8 I% k# b
b = Float.parseFloat(args[2]);: B1 T9 A4 Y, s8 U4 m) y
calc = args[1];- ]6 a) v4 H% ~% X
if(calc.equals("+")){
) W0 x* v7 g2 Y+ J9 f System.out.println(args[0]+args[1]+args[2]+"="+(a+b));5 w$ S' @. U9 p" E
}else if(calc.equals("-")){
6 W# q- P- i; \: J' m! Y3 @2 | System.out.println(args[0]+args[1]+args[2]+"="+(a-b));
; J/ E9 @; T+ ~' p0 Y4 y }else if(calc.equals("x")){7 U* `& n$ s4 \9 X% e7 n) ?1 l
System.out.println(args[0]+args[1]+args[2]+"="+(a*b));5 M/ ~/ O3 {( e6 \8 U2 ]4 r! F
}else if(calc.equals("/"))
6 _; W" i, y, ` {
1 x3 s$ u4 M0 I if(b==0)
- C W' T0 e4 ]4 b& e {
. D' M! n; ~) H! ]% y System.out.println("除數不可為 0");
2 U* o/ z+ W/ m9 e* c6 S- M }else
# F8 M. d5 H% \' m2 F% }8 J {
9 c# h; \- @ }$ R/ p/ K System.out.println(args[0]+args[1]+args[2]+"="+(a/b));# G F# w6 h( X* _. V& t
}- J5 p; K/ y! `4 T
}, f8 Y, ?+ y% q+ m( Y% T0 Q5 P
else
6 ?; J3 M& W" H4 B {
9 X9 o' p% F p+ |7 [ System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");" Z5 h/ E% p. s Q, L! @ s
System.exit(0);* Z0 L# {3 n) D8 \2 H: n- ]: A
}3 P# F5 H! M6 e6 j
}else{' l8 M+ L& c/ P0 E. ^
System.out.println("請使用三個引數,如下格式\n 1 + 2");$ _+ L+ V' Z& u! P
}
3 A! V; Z9 U3 q M' {! v0 { }# W6 @+ U+ @' c$ V P
catch(ArrayIndexOutOfBoundsException e)
( C0 g5 B4 S! x {
o* M" @( ?9 ^$ C System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
$ I& C2 L* C s. ?* k }
0 Q" r) H: g8 r5 q9 J, o6 T catch(NumberFormatException e)
+ D: B: d) S, \, s% e3 h' g" q+ Z {
5 m2 X( @ ]+ A6 x System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());0 S! Z& S) Y+ k$ C1 L) }
}
. h6 z2 B9 G6 y+ v/ j $ o: [2 [) u0 ^% c
}
" ]8 P; ^. i7 t5 g! a0 W} |