switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":( M- Y$ c! m c6 z! u4 V8 `. u: B' S/ `
因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:
1 E' k" n( B( H! N. B6 C0 }, p& V" t2 ]* w' h7 K1 i
public class TQC2062 H9 s7 n( l" `
{* D8 d& |" P, w& ?0 ]% i
public static void main(String args[])% W6 r$ z. ^0 q5 B* W# W V; f
{# v2 V" X P6 O e" ~1 D
float a,b;9 p) |: x* c) R3 m# a
String calc;$ s( u4 g/ ?& k A, i" n& A
try{
* U% A/ ?7 }+ F4 ]: e3 F: j if(args.length==3){! ]# ~0 l8 p' z y& k* X0 v
a = Float.parseFloat(args[0]);6 k( W7 T+ O& e8 D t
b = Float.parseFloat(args[2]);
. w; I3 r' s' [ calc = args[1];
- ~1 {. N2 ]+ D: x" l if(calc.equals("+")){& l }, [! ^- y( x3 }9 _0 r
System.out.println(args[0]+args[1]+args[2]+"="+(a+b));. _7 L) v; k' L9 ^ N3 ~
}else if(calc.equals("-")){- t- g+ \2 v, ^ W8 I
System.out.println(args[0]+args[1]+args[2]+"="+(a-b));) F7 F; @ R- B' e4 c
}else if(calc.equals("x")){0 [0 [: b8 e# ?* Z5 I8 @! @7 P
System.out.println(args[0]+args[1]+args[2]+"="+(a*b));2 ?2 o% Y% s# O: n4 R5 d
}else if(calc.equals("/"))3 _% q2 Y9 O$ R
{
0 x: {8 [# F& j) G# W- w$ ~' U if(b==0)
$ O6 o4 b; M' p8 Z1 }) m7 d* h3 a( |+ | {$ r: X4 c* s5 T5 {, I
System.out.println("除數不可為 0");& C( q3 g4 [8 N( M, j+ J
}else
# _2 r/ d* [: d0 n {
/ h8 Q, g }9 w# e% D" t System.out.println(args[0]+args[1]+args[2]+"="+(a/b));% m: G! o/ r& p! R3 ^5 `1 c
}: K! h7 B, ~5 ?* {0 R
}
' L/ A4 N; Q& i# S3 ` else
x8 s& z1 Z4 g3 X6 y8 R {" ]6 w/ Q* r: v! G; O4 q) r
System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");. T, E y" L+ P; @ o& v
System.exit(0);, B: X: c8 \9 |/ S$ ]
}
( s- D0 a0 i5 [$ g" G/ D }else{- P* H: R4 _. g5 P% j" N" S/ K
System.out.println("請使用三個引數,如下格式\n 1 + 2");4 o: y0 j7 u5 u8 W6 {8 f
}) Y5 O' O) `7 Y. c+ Y: e c
}
4 w$ j& O3 R" M# S catch(ArrayIndexOutOfBoundsException e)
8 n0 |, P, @# ^9 ]3 z# ~9 } {& {7 v& ?6 i! q ~ [
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());3 e( o* Y* p! B6 A9 A( t, Y7 L: f
}/ A, s; {. { {
catch(NumberFormatException e)
$ e9 u5 ~# a$ n( @5 L {
/ U7 j I+ x# a. d' F System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
( ^6 O. w" e4 c# l9 p% x# ?4 ~ } o' L! G: A- e( V8 E7 [: X
) G0 `0 C" m6 U, i" Q( ^6 r4 q* } }1 ~) o% w) k! \$ x
} |