switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":; n }: A" d% j" L& f) c3 o% {; A$ Q
因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下: o5 ?# ]7 W1 V$ ?
: l2 p/ V/ Z1 O- t& n
public class TQC206
, W. |" f9 a' w; d5 u{
$ o9 b$ h4 Z7 o3 f& G. I public static void main(String args[])
2 x# G- ]' C1 S# q2 ? {0 A% T. m9 w) B1 z
float a,b;
4 A# ?( v! R/ t1 t* U4 E' ?4 v String calc;
- X; i7 _+ }7 B$ Z4 |; l try{$ P# F" f8 N- [8 \$ V7 k7 B" e; m
if(args.length==3){7 A9 P! y) L: e# {( s4 H
a = Float.parseFloat(args[0]);* d/ B/ D7 ~$ _ r
b = Float.parseFloat(args[2]);
' p* _$ S* c2 t/ `" C7 k calc = args[1];5 P. R& L8 k' C9 b7 Y, F2 {3 z
if(calc.equals("+")){. d/ V }( I9 t/ C$ d l+ o
System.out.println(args[0]+args[1]+args[2]+"="+(a+b));
" y" x1 a8 B x7 p; } }else if(calc.equals("-")){
0 p, n: A8 p: [/ X/ T System.out.println(args[0]+args[1]+args[2]+"="+(a-b));9 A/ z! ]- R& g. ~
}else if(calc.equals("x")){9 r! a1 W" ~5 G
System.out.println(args[0]+args[1]+args[2]+"="+(a*b));
3 G" T% i7 Q- y& L }else if(calc.equals("/"))
" F7 Z6 j, n7 G! |' a5 q/ y {0 y" C1 {! X# V' w$ P
if(b==0)$ @7 X2 A q+ \& R: C4 j5 {8 b$ U* b
{
0 ~" I( i# T$ i' R/ |# h# ?; ` System.out.println("除數不可為 0");/ r$ g: [6 p U# L9 D
}else
% T5 }" \% A. R1 G& l. d {
! c, ]8 p! T3 B; ^ System.out.println(args[0]+args[1]+args[2]+"="+(a/b));" ^8 Z! V& W6 ^# [& e& ^
}2 s+ ^6 A, T8 d/ P8 A3 }
}+ I7 \( I V) r
else
! L: R @; l3 m) B3 V F {
* i3 u) ~ Z: Q! s System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");
7 Q# P. e3 {8 x8 E4 F System.exit(0);
2 j0 Q) d7 A3 o* U }4 s" a# ?' V) Q: n Y: O5 f
}else{* M+ n% [7 ]2 _3 L# h
System.out.println("請使用三個引數,如下格式\n 1 + 2");
* l# U% K; O P }
( h5 p+ {, T" R# }0 ]4 W" S }% ?+ G2 H, S0 _
catch(ArrayIndexOutOfBoundsException e)- @+ @4 {8 Z8 r4 V- T/ P
{
" v" W8 r" z, F8 z System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());5 H4 }2 f: X& A1 B, W* o
}
M* {4 V( F3 F. w6 R9 A* n0 X7 ]2 r catch(NumberFormatException e)
7 ?* q6 x% u- F( f) W1 N2 F {
2 D/ _* U) U" v System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
9 @# ?! g# J% ~7 A; `/ U) ]( e }
S% y* V# Y7 e3 g4 o6 Y
2 q6 X8 D0 x8 T6 z/ O/ L$ @" h, ` }
" [) Q4 l. K& x, c9 ~6 _} |