switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":
8 x& k/ @1 u" a) Q( o因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:
) y, H$ P; F. E! I+ H9 L
' F/ N5 m" X+ V. `2 Qpublic class TQC206. U/ S0 S" y3 `
{
2 q4 @# A, n8 F# Y2 R$ b! D public static void main(String args[])7 g" @+ [4 X7 n; c
{
7 k) M& M8 r( Z* x float a,b;1 c, v/ f6 m% v# |
String calc;: w4 \# o! E9 ^+ @; x. A$ Q8 h
try{7 j8 g$ Y) r) x2 @$ x
if(args.length==3){
0 D8 F1 j. f( { a = Float.parseFloat(args[0]);
/ i% w$ A. |1 [! _% |6 M" ] b = Float.parseFloat(args[2]);7 O* M% [# b5 ? P6 g
calc = args[1];8 F; a' [; K! g
if(calc.equals("+")){ q# `2 h7 @& }/ J- Y3 @
System.out.println(args[0]+args[1]+args[2]+"="+(a+b));7 n: P" H( e4 R E4 P
}else if(calc.equals("-")){( U- ^1 y2 k0 j
System.out.println(args[0]+args[1]+args[2]+"="+(a-b));( I7 |: i) G, w" Y; ]- e7 F4 s# Z
}else if(calc.equals("x")){( @/ O# V' ^4 S. M; B# a7 v+ \
System.out.println(args[0]+args[1]+args[2]+"="+(a*b));
+ h$ B4 k: K" V9 f7 Y8 t W }else if(calc.equals("/"))* U( g- M% W# f; C* G$ j
{
; R$ g' ~' T; j. s. W/ N& S0 S if(b==0)" Q. S% o l0 Q# G" g' C J
{
# V; D o0 z" P$ s. J( G6 E) b System.out.println("除數不可為 0");3 C5 b: B' D+ L6 S( R: V p
}else
/ M8 ?# _" w( n: Z- @. I; z {* Z( |$ H" v- v' m2 ~
System.out.println(args[0]+args[1]+args[2]+"="+(a/b));
) `1 S' a9 M( g9 N }/ [3 h$ v" s! a! d H3 O
} G& \& `( t1 q; Z3 M- M6 f
else) y( Q" L: f& T5 A; E( E+ z( H
{
" @8 L/ g) W7 ^9 t6 x System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");5 F4 U# e& \9 ^0 Q" H+ f/ L
System.exit(0);6 r7 X* [+ A3 ^) |
}& }# a- I5 S+ B5 g9 ]) \ }6 m
}else{
, [: d7 ~0 j; q2 }6 f7 X System.out.println("請使用三個引數,如下格式\n 1 + 2");
7 H' t W% H, l' ~; O/ S }8 x R8 Z7 k, Y3 }0 o# c: X: T
}
' C1 X( R2 E; d1 j, h0 o; t catch(ArrayIndexOutOfBoundsException e)
6 I. u) Q' C) q6 j9 T. f" h {8 G+ D5 G' r' ~* o, W) E
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());9 [( l" Y5 a& W$ G- [5 x8 B, F5 g
}8 s! \8 L$ r( G! L* k
catch(NumberFormatException e); R; S6 |. C' L# L V4 M+ ? `
{
1 _$ z3 e: H5 [+ u( X System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
' X' d3 k; h. |& y- E { }: d) m y6 L) r
. _! l' \( s( J! \( z P f }& l1 o! V. \' e% F; C. q3 r3 { A
} |