switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":) D* Q B0 F8 ]# Z# \2 O
因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:% e- d0 E' x s% `2 k
2 @8 B1 f7 W$ v$ e6 ^8 r+ zpublic class TQC2063 l ]+ D4 P7 k! o+ h& s9 g
{! P: A% h3 O2 s' m! @6 _. L1 t' i8 V5 |
public static void main(String args[])
7 G+ q! L' c: }+ E, p4 m7 u; q! p {1 e1 [- T3 W; }) ~9 E* K
float a,b;6 ~8 t+ h( Z; x5 p
String calc;% S- d2 |. x5 M1 o
try{/ H2 u8 I' s( }" ^0 C: o$ W
if(args.length==3){
' [3 z8 `$ l, B* X a = Float.parseFloat(args[0]);9 X) }/ A7 K5 h0 t3 Y
b = Float.parseFloat(args[2]);' J- t) m) d8 T& c( f" N$ Y# T- `! k
calc = args[1];
" r, w, u6 m, U if(calc.equals("+")){3 a6 L5 }9 M- O, a1 s w
System.out.println(args[0]+args[1]+args[2]+"="+(a+b));
* H! L1 k3 g* I) ` }else if(calc.equals("-")){! P6 H2 c2 |2 z. h& W0 @/ x
System.out.println(args[0]+args[1]+args[2]+"="+(a-b));
& B/ O/ |% O x& i, L }else if(calc.equals("x")){5 ?* s2 c1 c& L+ d( Y
System.out.println(args[0]+args[1]+args[2]+"="+(a*b));; v" H4 o; t) T0 ?
}else if(calc.equals("/"))$ n7 \& `7 h/ O8 |1 ~2 x
{( X' R( Q( M* X( O
if(b==0)
* m: t3 `. T* ?( [- \+ W4 Y {- Z' F Y1 k- ~# W2 D% J
System.out.println("除數不可為 0");
6 {; C% |7 U) q; t5 T6 Z }else) o" M4 t' d4 h+ v* ~
{" B5 b. l2 ~, g6 n; M
System.out.println(args[0]+args[1]+args[2]+"="+(a/b));
& \ Y! M) ^, p7 y }5 b Y/ {$ @5 g; p5 ^2 `* l
}
! l" q- C* y/ p6 Y else8 t/ W1 F& I5 v5 E. {' f5 d
{ E& g) ^' J3 r; \) Q
System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");
# T3 H' e! O- k' B) I( t System.exit(0);
2 s( |" N8 ?+ i' N' A( F }* G2 v$ T8 O, v$ ]9 a4 s. i
}else{; Z, J8 j) ?" ]9 h
System.out.println("請使用三個引數,如下格式\n 1 + 2");
6 ]& `& r( P7 X8 K. v) N! K2 _ }: ?, w2 f: A+ ]
}
0 ^( {8 H4 O' v, \8 c catch(ArrayIndexOutOfBoundsException e)
0 `' i) E9 F9 |$ w( L* y {; d0 X3 R6 N/ L7 s' S! H
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
# G$ s+ E( S; J7 }$ |8 k }
, y3 |; Q t0 g0 A/ h, _1 w8 N+ a catch(NumberFormatException e)
" A# z" O" Y* F# r7 F. M, L {1 B. {5 \0 A; r- X f2 A
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());6 k& E% T( f% x' [
}
3 J6 P# \* L3 I" f, d
* c: O2 l$ }4 i0 N" ?% c }# J0 O% H# T5 Y0 L8 Q! [
} |