switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":
' j- ?7 _& E; d因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:1 f$ W6 o: L; ^
$ r5 J9 {: l( `' N% c+ ~public class TQC206; w% o0 W3 T% I0 q+ x/ G2 a9 x
{
2 u9 c/ f* h, ?9 g% E3 T public static void main(String args[])) x2 K) {9 A& m% m
{7 e' M$ Z% O. I- N7 g% g% J. x
float a,b;
5 r9 z5 G: _9 b- c, z String calc;
7 n9 J2 C! x1 K try{
; ~7 h3 n& l! a* e if(args.length==3){
- _7 m' Z$ A Q' T4 b/ I a = Float.parseFloat(args[0]);4 n& A K6 o k
b = Float.parseFloat(args[2]);; \* y! l5 S( T- T4 s& o
calc = args[1];
) D* O$ N6 Z$ Q& |/ t1 ]/ C) R, O- I if(calc.equals("+")){, Y' n1 \9 Y' A' t W" w9 G, r7 w, e
System.out.println(args[0]+args[1]+args[2]+"="+(a+b));1 W0 h1 V+ O2 D1 C+ o0 }
}else if(calc.equals("-")){
3 d2 {: O L2 A) {* B System.out.println(args[0]+args[1]+args[2]+"="+(a-b));
8 x9 O8 J7 }, l0 A% q- D }else if(calc.equals("x")){1 x/ Z" N3 v: N/ X+ E& [
System.out.println(args[0]+args[1]+args[2]+"="+(a*b));
3 U$ W8 {$ N4 g y% a9 { }else if(calc.equals("/")): O, |0 _' i8 k6 W, `" a% L
{+ _1 X8 H" m5 a* B" w
if(b==0)+ v: f5 ]8 o& P! ^2 p7 m5 q
{* B3 K3 @. ?. V- [7 `: e
System.out.println("除數不可為 0");
% s; Q" ?% I( F) k }else
# X3 W+ p7 i: h6 |8 a% K+ { {
+ c7 R* m E& k% B System.out.println(args[0]+args[1]+args[2]+"="+(a/b));2 Z( y, l1 R1 W6 t+ `+ j3 ~
}! o! Q: c# k( ?1 X& {
}/ m, a- C* l+ m/ ?
else1 {1 p* c: ]2 x! T! M* a
{
+ Z8 M( e( p2 r6 n& L N System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");. P2 t6 ] b4 C! d) Y& V0 L+ O
System.exit(0);
! J! z4 @! J- h' K }
, k: \. M1 R" n w7 v }else{
D8 O, J4 i+ P' ]9 \ System.out.println("請使用三個引數,如下格式\n 1 + 2");
+ i. h/ Z' a7 s6 b$ V }
. J2 a1 ]: @! h$ p }
) n) U8 ~% s. Y5 V& O0 e; q: v catch(ArrayIndexOutOfBoundsException e)
3 R$ P& y+ d4 Q" [0 v {
5 P, h0 I C# X+ g* R System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());. s/ ]4 J4 E- Z+ O
}
; n* V0 ^/ f. g catch(NumberFormatException e)
- s+ `4 O+ v& Q0 p! Q6 E( C. ]/ G {
3 z' h7 D D: U4 R System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
_9 y* g5 f2 `& T }' v6 y8 S: t0 c2 Z7 W
+ x/ P C7 }8 Q5 g) h, l }
7 n% B8 O% y) _; U: @" n} |