switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":
! O/ e& V, f& t$ {2 `& n* p/ _因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:9 d" q# x0 m% g) U# w
8 u, g9 D9 {& apublic class TQC206, B9 D: B+ b3 L( m3 H/ P
{: ^, d, X' D; R9 Z) n1 h2 J
public static void main(String args[])
5 s9 Y' \; N) h$ N6 e$ I {9 A9 D$ k0 c0 O! A" X: A( s
float a,b;
* \* F9 X: S6 T3 y" A3 d String calc;
, _8 `6 ~% j. `# b+ q/ h1 D try{7 [5 Y* I0 _3 o$ S( `( \8 g
if(args.length==3){
2 W' N( a, p, N: {& a a = Float.parseFloat(args[0]);9 _% y @3 ~0 K3 h x
b = Float.parseFloat(args[2]);$ g8 g/ ]: W/ N9 H+ W* H$ P
calc = args[1];# R: q% K7 _5 w1 @& s
if(calc.equals("+")){
M8 g6 S$ J) i! b System.out.println(args[0]+args[1]+args[2]+"="+(a+b)); r; H1 m0 s& |
}else if(calc.equals("-")){
3 m8 }. }% c5 D; I System.out.println(args[0]+args[1]+args[2]+"="+(a-b));
. H; u( U* }# k3 k }else if(calc.equals("x")){
5 e# e/ V' G0 K u3 X5 K System.out.println(args[0]+args[1]+args[2]+"="+(a*b));" C; x' H7 F" L$ @& k! i% ~( i
}else if(calc.equals("/"))
Q7 N+ a) S" y% l3 B- G( _# j& g {
% A) k! g) a6 U8 B$ k if(b==0)
6 O2 e) T. R) ] {
2 }/ D$ ]' Z4 f0 r" F4 a System.out.println("除數不可為 0");! [, s8 x' }+ t7 F* c
}else( x% P! ^$ u4 _! C( i4 }) v, k
{
! {! n: M- {% \) w. ~ System.out.println(args[0]+args[1]+args[2]+"="+(a/b));& q! y6 Z5 [6 _8 F" v" E
}
8 s% P3 V0 Z) D }
1 Y2 e6 Z; g9 T4 D+ c; L) B; A* a7 M( V else
- B; w, r* y! b4 b {
/ l) F, X% ~3 @+ x System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");
- ~4 ~ L7 z5 i, l- x System.exit(0);
* [! t" R0 ?% x; p" q }
7 w: R, y m' Z% d8 y& s% F. m1 j% n }else{
, c/ s# h* `, ~) c+ _7 a& E System.out.println("請使用三個引數,如下格式\n 1 + 2");
2 g5 V& b5 u: {- R' T }
+ C6 H4 m- e( z1 W1 ? }
- F4 p) i4 L, n. C catch(ArrayIndexOutOfBoundsException e)3 U5 Q% w2 i% G2 b! ]0 @7 p- |: ]
{, `! M* ]7 ?/ j8 j" L4 x
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());: g L# z* v6 i; j2 f
}
1 \7 |. z) c2 X9 S' Z1 z1 e catch(NumberFormatException e)* w/ M+ u# L, M6 G9 T; y
{( ?6 k) V% ^- y5 S7 R E2 ^! d
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
6 ^4 Y- ~! f# I7 S& R5 v }) Z E" h' U) _) q1 i2 U
5 ]" U9 h# ~* m" b
}
8 I% g& q2 M; J} |