switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":
1 v y! K( Q# E0 f2 K% u& q/ [$ ^因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:. x7 o1 q: z/ I4 Q
! F0 }" H6 b9 g- W& D$ ppublic class TQC206
% u/ ]) c F& z8 J$ f% b/ A{
1 k2 T9 E; c0 `% P; K; \ public static void main(String args[])
( ^3 B) k' p- c- ^& |% h {2 J+ w5 f, i3 e- e( x6 |
float a,b;7 s! ~! Y; Z! P8 z6 q+ K
String calc;9 b& ]. E8 n) Y& i- l* t" c
try{
9 ^( c8 ?+ {+ I) i( P' a2 q if(args.length==3){ e; n1 k& l2 g( c+ H) F* Q; |. P
a = Float.parseFloat(args[0]);5 p7 d/ n# i6 D% t# i' j1 k
b = Float.parseFloat(args[2]);2 a+ Q" s& X5 J- N
calc = args[1];
( ]' a3 H0 K% f" B" {; b if(calc.equals("+")){5 d* V d" A. B: K7 a9 C* G
System.out.println(args[0]+args[1]+args[2]+"="+(a+b));
) V4 ^- M$ }+ h0 p& O& n6 F }else if(calc.equals("-")){) I& f4 U0 x8 E9 T6 \& h4 a
System.out.println(args[0]+args[1]+args[2]+"="+(a-b));* Z/ H+ a$ G( K/ ^. v0 K
}else if(calc.equals("x")){$ ?1 X( j( L- h/ A" P8 q! S9 a
System.out.println(args[0]+args[1]+args[2]+"="+(a*b));
0 I, D- S/ P2 X. k" V: a }else if(calc.equals("/"))$ P% X, z7 q/ D) F6 X9 h
{
5 `! M/ k* y2 }1 Z3 e if(b==0)+ Y/ B: b/ ~( h8 ]! M4 l
{* f% E9 u9 E- T& f' C: u8 [# w9 |2 Q
System.out.println("除數不可為 0");" }0 Y, }) U7 G9 N5 E
}else6 \9 P# G4 n6 H8 l
{0 I! Y N' U: q" B# J
System.out.println(args[0]+args[1]+args[2]+"="+(a/b)); m3 [* w7 s( v- e: Y
}+ q8 w5 C3 s+ [
}) d5 m' G% w* w0 l" L6 N
else) U/ N- q' f8 t" q+ m6 e ?
{
7 f3 j* m+ u" i' w5 j System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");
1 |- u9 ^3 B0 E0 A; q7 }0 W8 M System.exit(0);' L) i" V t; @8 V
}
/ [/ r1 Z0 J0 u6 |3 r. | k }else{: \, B# R( w6 d
System.out.println("請使用三個引數,如下格式\n 1 + 2");5 H1 P6 X2 y$ J7 m
}! L0 J/ w- b3 F8 i
}
0 v+ m$ q& V8 B m. |5 ^6 j catch(ArrayIndexOutOfBoundsException e); M0 v& l0 p7 g. X. n. S n- l
{4 y/ b7 w3 @5 Z
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());4 M/ V) F, Q7 Z" ?
}8 l; E% `7 K7 M" `- q+ D# G. S7 l
catch(NumberFormatException e)
6 {2 U& y$ z/ q3 ~, n* @, P* X {
+ G0 j4 b$ q2 m( M5 z/ \* p m System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());; [& U# u5 ^) w, f5 Y( V- v, Y
}
9 N8 c9 t# e4 Z, U0 U7 A$ t # z0 J3 d$ L/ J h" d) Q
}
3 i4 X1 ~6 S- U, U} |