switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":
1 g; Z e7 I2 Q( A) Y, v因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:
' Y R9 J1 O7 Q% ^
: b& ] p0 Y+ D+ e' F6 j& f- B8 A) Mpublic class TQC206, @$ n) v2 V. ^. A
{+ ?' W+ n" {1 c4 ~) w) U( O
public static void main(String args[]); @4 O% M8 m3 q' p4 a" |9 x% e+ [
{/ ]! D1 s( A! J0 |$ k# o, n% T
float a,b;
1 f7 I0 q: H! G+ Y8 |/ E" L* r String calc;
$ [ o3 X+ x3 ]- |2 ]. {9 n: K try{
/ m: ~- w8 ?" k5 g if(args.length==3){6 f6 n' Y! [) P" U7 K: U* R6 j
a = Float.parseFloat(args[0]);5 {! V ?9 w# z9 {* r. @
b = Float.parseFloat(args[2]);3 W! v' g. P* ~
calc = args[1];
. i2 e$ _: Y7 I6 \( r: Y U+ j if(calc.equals("+")){& E* B) D4 x. c" t
System.out.println(args[0]+args[1]+args[2]+"="+(a+b));
1 d! f' ^% p2 F# X' G }else if(calc.equals("-")){
0 |2 Y1 m7 V: _' ` System.out.println(args[0]+args[1]+args[2]+"="+(a-b));5 m3 I5 ]+ G9 g+ \5 }- n% m
}else if(calc.equals("x")){. n2 P2 I% w, c
System.out.println(args[0]+args[1]+args[2]+"="+(a*b));
' E& n- n' A2 { }else if(calc.equals("/"))6 X: P& |% q$ C* y0 ]" c
{
: Q- Q4 w- }# e6 o" O1 y- l$ s, f if(b==0)- f1 Z4 ?8 e/ R3 ]7 K) k2 b, {
{1 N# E {6 W/ Z
System.out.println("除數不可為 0");
0 E9 w* l; t( }. ^8 P, { }else
7 E2 \, v5 M) b$ t- ]) s {
. ?" F0 _4 ]0 H( O1 K' d, J System.out.println(args[0]+args[1]+args[2]+"="+(a/b));$ O) @* v) U, q' P Y' q
}
2 z7 p" P7 U0 v4 `2 P }
5 r% \5 _! y" r, r else: B1 X% w, \+ v( k; G+ \* \/ J
{
3 G9 q* }- G) `2 M/ S3 c# f! [% k6 X System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");
8 K4 P# T# ~5 W System.exit(0);
2 W$ I2 }. ^) C' x" { }
7 r V' p( z: z/ e" a0 ] }else{
; R; P8 y& U8 B8 \ System.out.println("請使用三個引數,如下格式\n 1 + 2");( m% H. ^: q* M9 ~
}8 D+ v5 r2 U/ i, L! g" u0 p% D
}
+ C0 k, C1 Y0 r, q3 ^1 c" i$ L catch(ArrayIndexOutOfBoundsException e)3 v+ q5 ]5 v- l h
{+ y' i4 U6 x/ P/ m/ n2 {3 h
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
' m p# d) e* M5 G0 N" { }( D8 C T2 r$ b) i1 a4 N
catch(NumberFormatException e)
F. C9 a, P: b2 y- L9 x5 K {
# q' f, A `: V* H System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());& Z, A& g. z/ u& q9 }- r
}/ E* R: U# n$ y; B( c( y
( r9 ` q& i- D }
7 c" f) {* D: M7 l} |