switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":
+ C2 S9 L! k1 m2 A因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:8 @ G. t) k* Y# x
" ^) o9 v- k! _& I
public class TQC206
* J q; M: S# F2 Q{5 L# g1 n' V, d3 i: T
public static void main(String args[])
5 v# ~% y3 i6 F6 Q1 I8 R' ? {
6 E" x+ }+ [! u. h" p5 F7 W1 U. f float a,b;
: ~: K' w* W8 ]7 g String calc;
4 M" U% m! v# C( I. m' T5 V try{8 |9 q: U3 p/ k( s% p" n3 _
if(args.length==3){
" L" h! f7 `, L5 {# I% E a = Float.parseFloat(args[0]);- \ V7 Q. _0 i: E& j7 [# D* Z
b = Float.parseFloat(args[2]);
3 M; g, |) _$ r- r% | [7 M calc = args[1];
/ r0 I6 R- N% M2 G ^4 @1 K if(calc.equals("+")){! G) D) D6 j4 I; u3 l: z
System.out.println(args[0]+args[1]+args[2]+"="+(a+b));
6 A8 t: R6 V3 Z1 \; I6 [ }else if(calc.equals("-")){( r! \' g9 M8 j- e. ?) {$ C
System.out.println(args[0]+args[1]+args[2]+"="+(a-b));
9 I0 Z: s2 I. c2 p' {% Q) v& j }else if(calc.equals("x")){ s& l: J) }4 C+ Q2 t
System.out.println(args[0]+args[1]+args[2]+"="+(a*b));) X% ^+ @1 G0 I& J3 T3 J; f
}else if(calc.equals("/"))$ w1 J2 u( O) m0 n* t
{: h& F, |# f1 X# b- j& ^2 g/ ^
if(b==0)
- S, [; f, _' ^, {) A- E {+ _1 X4 z/ s+ g) r& _4 C
System.out.println("除數不可為 0");+ S. Y/ a9 _8 ^( i- ~( p7 |0 v
}else
. [. ?4 q- N3 K {
5 {# J) V7 f! y. R z$ F System.out.println(args[0]+args[1]+args[2]+"="+(a/b));
2 k9 q. G _+ Y+ g6 {8 ?- V7 n }. P+ A3 J$ f$ y2 f8 o. _
}' P9 S# V2 J/ W8 V' W1 b
else; x6 j+ Y& l. j8 a* [0 y3 J
{
" K0 w% A* p5 p3 b System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");
5 M$ x8 I4 ^8 u4 O" S6 C+ c System.exit(0);6 J& p+ i9 @4 w: x" O' U0 `. |8 F
}
! P% |% g8 y; f$ X4 Q( w }else{3 a5 f) D, [* h5 h* R' x/ G: s B
System.out.println("請使用三個引數,如下格式\n 1 + 2");
. w2 P6 T m: m- D }
' ^# `0 R6 j* c7 F) ?4 {, d }
0 M& g/ ]! n% m; R catch(ArrayIndexOutOfBoundsException e)
( O7 J& `/ d# A) g, W0 y4 L {$ |3 `% I/ k# a
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());& g6 M; o# A+ b# X" ~+ G+ ?1 f
}
, H4 x! D$ s# h catch(NumberFormatException e). e. Y# r0 A1 B! k
{) j" A" C& `9 k- A a
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());+ A1 u {4 d% E+ g8 K
} a& i7 E* a' J/ V1 V$ V, V2 L
& p$ H/ f$ ?$ F$ N6 k# ~
}; W! K' e S( w( \0 o
} |