switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":$ h4 |! ?* i6 A5 F: w
因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:
& K; N2 }2 T) }* K( E
% A+ f+ T/ c5 Cpublic class TQC206: q4 I' G! H2 g7 B/ P& |
{1 m# p, V/ r: }: b& D9 y" R
public static void main(String args[])
! f/ H7 O. N: b% t {
. P+ s# z$ r+ M$ H, p- a: x( ` float a,b;
" c5 h$ V( s, O. \# h& [( B String calc;; l, Z8 u8 ?2 ]' M7 n8 q# S. P, n5 {
try{$ ^9 g( P4 U9 g, u
if(args.length==3){
. ~- K5 z+ A0 R" F a = Float.parseFloat(args[0]);$ _1 W0 E2 [8 X+ S" Z
b = Float.parseFloat(args[2]);
! V* T% s3 Z% ] calc = args[1];6 W. v1 S# H8 M* H5 l, o) C
if(calc.equals("+")){
- Z" @( t! j3 p7 t System.out.println(args[0]+args[1]+args[2]+"="+(a+b));: I6 g2 W5 W+ b Y& o
}else if(calc.equals("-")){$ J2 E: ?' e" J+ p' L' S
System.out.println(args[0]+args[1]+args[2]+"="+(a-b));
( n4 e/ r* j9 h. b( w; | }else if(calc.equals("x")){
3 Z$ e1 S0 p) N" @4 D! H/ b System.out.println(args[0]+args[1]+args[2]+"="+(a*b));! [! A# g* y: m, Q. o5 W+ z3 ~- E
}else if(calc.equals("/"))8 E" G Z* X/ @' b/ b" Z
{
8 R4 k* U2 u, D {1 E if(b==0)
- I( G9 g9 n7 b' G/ u8 j2 h {" r/ ^ [5 L7 t# Z$ ]
System.out.println("除數不可為 0");
; T$ I/ {% o8 G }else
3 E2 e% N" `% j9 D7 U8 d/ z. C2 h {
/ {. o; ?; R* _1 V System.out.println(args[0]+args[1]+args[2]+"="+(a/b));& j. G1 m# l( G
}9 u! h; I) C6 M* x
}
2 Q4 v( E. {4 Q N else) `# _3 a- {4 J' O$ r \
{
& _5 K4 n- y& C: J' k' C$ t( q System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");
1 W6 l. `' `$ p+ p$ d8 d( t6 q System.exit(0);
5 o! `$ ^- Y: C' G1 N5 `, {! k }
% ^* q7 }: u' x& E }else{. I* W3 q" H9 p7 A$ J/ h+ C
System.out.println("請使用三個引數,如下格式\n 1 + 2");
8 U+ ~: ?' ?/ U; o% b# p6 {& a }
+ ?9 o$ J; g% J }
d! p6 h% W+ i2 ~" S& s0 X catch(ArrayIndexOutOfBoundsException e)( K! t- V9 x; R% n9 T# O8 Y
{: @. C: |2 V2 a! a3 m2 B
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
8 P2 M7 r' W3 @ d }( }" t; P% g' R( K! W. r1 ` V
catch(NumberFormatException e)
. n/ u. Y/ f' k2 J+ z5 y7 q" X$ E {3 K# ^# U! c3 a) [ M
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());! r6 J. G6 I p& B
}
/ @. w5 i: e& ^9 z! T7 p ! \' b* L- Q6 a9 s9 Y- f; V. G/ Y
}
; n( b" a3 X/ R9 c} |