switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":
/ C& s0 j1 m; q. j因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:* o: j% P6 f. f0 j9 ~
0 \$ Q; B% \; }. Q; F" lpublic class TQC206
. H+ i. ^+ A8 R{9 R* k8 R6 P& a# i$ u
public static void main(String args[])
& v5 N4 _; o0 d4 a; q) V$ E7 _ {
% c: s* f% E7 Y$ U, y; x3 G float a,b;' l8 m% K+ o! m, d) b" h( H4 v
String calc;% f+ B1 E7 [3 t4 B; h
try{
2 P' [2 G: c/ C$ N4 B3 D7 u& \ if(args.length==3){. Z9 q$ F4 R" p5 J- M
a = Float.parseFloat(args[0]);# a8 k8 b& ^' A# r* K9 g
b = Float.parseFloat(args[2]);
o0 H& W% Z% I$ M# ?# c) l( } calc = args[1];
7 g& B, Y. H5 L if(calc.equals("+")){ {) x, c3 p0 z$ ~: ]! h
System.out.println(args[0]+args[1]+args[2]+"="+(a+b));
5 Y3 e4 i$ v# q7 p6 c6 o/ u }else if(calc.equals("-")){, X) R$ ]! X9 t. [+ C) i$ C
System.out.println(args[0]+args[1]+args[2]+"="+(a-b));& } j) H! J. h/ ]1 d5 d" c
}else if(calc.equals("x")){% o& t; d8 R4 m" b! H, v& U
System.out.println(args[0]+args[1]+args[2]+"="+(a*b));
8 f8 j: t# e0 E5 g7 z/ D0 Z0 x- V }else if(calc.equals("/"))- E& g; a! \& \* b9 O" C6 N, }% k
{
- G: |$ v4 x" x& y+ x0 a+ b if(b==0)
1 }2 V1 t. Z. C { v/ q9 D# i( r4 J
System.out.println("除數不可為 0");' p+ \8 J1 B v. j' U9 t2 l
}else& y- O: l5 h1 o1 R' C
{/ l# c9 K5 e$ |. l C5 y
System.out.println(args[0]+args[1]+args[2]+"="+(a/b));: M* j6 s5 Q2 V" C# L5 ?
}
7 h; W! z; E# p7 W/ M$ R/ @ }" _1 b- u6 ]7 ^9 Y* z5 `4 W
else; g; U9 x/ s! d% j- J0 f
{! ^* x& y2 K, b8 t! [
System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");
* U& I- s( O' V8 V2 |/ g- s System.exit(0);$ a& e& \6 b& E+ t0 w
}
+ d, C. k' @) P7 R6 B }else{4 o. c( L& {& [" \4 k
System.out.println("請使用三個引數,如下格式\n 1 + 2");4 p3 i' K! B: c2 v( i
}
( N, n) s5 Q8 P% n/ s$ d }. j2 M7 N* w Z5 f! ?: ]4 X+ |
catch(ArrayIndexOutOfBoundsException e)/ d6 r* n4 ?9 i
{! w6 ?" Y0 I- ^; a5 }# M9 N
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());: u( \) D6 H. j" r+ x# K1 A
}
) v$ O K! k+ O' z7 _* L* }) B% `1 W: k catch(NumberFormatException e)
$ s- ^, F9 P5 m7 Z+ o {& V, t) t5 l. b# W0 n$ S2 L& L+ x
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());; [( @4 u: ^% a+ M5 R5 Z0 ?* {! i2 d
}
8 _; s" T9 e8 I, D( F# Y ) _ q0 ]) U' n& T
}
4 u4 \0 W! b! A} |