switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":" W, I1 F" r! }, o- w
因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:
% F0 e; F9 n' ~3 G+ Q4 c
+ }( X0 B% o5 a* w3 Q* O4 E! q. Opublic class TQC2066 J+ P9 O# E. g/ [
{3 Z0 t- g; s- I( k7 ^6 K
public static void main(String args[])
- i3 a% a' E8 I" Y. \% R1 } {$ O/ v9 o; y H! U0 s" p
float a,b;
7 u5 S2 o3 ~% M% N String calc;4 I @7 b6 P& l! a& o( u% |
try{( y$ z( h9 _- c- R6 B( y+ d
if(args.length==3){
# N" ?* l0 C0 V! L; ]0 R a = Float.parseFloat(args[0]);0 \7 j' d5 C2 j2 ^7 M
b = Float.parseFloat(args[2]);: a+ B S0 t* k
calc = args[1];
. R5 D9 w: @4 Y0 ?% n) ^9 U if(calc.equals("+")){
/ f) Q$ K7 ]( g) m# h/ k$ f% d System.out.println(args[0]+args[1]+args[2]+"="+(a+b));3 q- \3 D5 }+ s1 c5 i) s4 M% ?! \5 o
}else if(calc.equals("-")){ X. g3 E; U- s. R
System.out.println(args[0]+args[1]+args[2]+"="+(a-b));* |1 a: N" z- F, I. N
}else if(calc.equals("x")){; C- N- A, q a0 a( y
System.out.println(args[0]+args[1]+args[2]+"="+(a*b));
" k! b, K4 a: N3 F2 X+ B }else if(calc.equals("/"))
0 _: T% b7 r3 z. A {
1 i3 g! ^- K1 m3 j if(b==0)# {8 a) d0 h, q* P9 n x1 f
{$ z6 |) Z7 ?( O! Q4 m, C& i( k
System.out.println("除數不可為 0");9 E' M$ Y& P1 i$ Z: E+ c
}else
: K/ \% w% y. I% Q* D( | {
( s' L& h% c' n. j7 A4 B System.out.println(args[0]+args[1]+args[2]+"="+(a/b));
8 ^4 b1 R+ [' D2 o! E+ x3 j! ] }
' ?; ~) w* I4 h7 ^7 g2 h }
4 V) q) z2 `; o [8 G else
+ U( ^% \, f8 l {
* I1 x0 i% P. E3 K8 b- J System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");
% |& J# M3 H1 }9 w2 s1 O2 d, r/ ] System.exit(0);5 N" b7 S* J3 R/ e0 H7 h x9 Z
}
* ^: N$ c) P8 g7 I) Z5 M- K- p4 [ }else{
* S% P s+ ?& q System.out.println("請使用三個引數,如下格式\n 1 + 2");- C* @7 }3 y! d1 t6 q
}
+ @ i# j8 |0 `9 n a" x }
+ E' O3 y2 P5 Z catch(ArrayIndexOutOfBoundsException e)) x5 h3 T! o+ Y/ U8 n2 @& [
{
6 J$ c; U* |5 g- c2 v: K System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());$ x& r1 i, }# V0 n5 [4 g9 O6 @0 \
}
3 Y& G, \" [5 K$ T% S4 d) w, } catch(NumberFormatException e)9 n, p8 {1 C& b
{% k6 F+ E! U! Z/ Q- Y: O
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
8 L" r# V$ L5 Z2 J3 G0 @ }
$ g3 k5 D+ b1 ~, g. d , E" ^8 t( m- c. J% s6 r
}
2 _; z. d0 k3 D% R# q} |