switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":: G: V7 `- f. c
因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:
1 u7 Z1 ]5 `$ M8 X4 [) f# n
/ c, d* w8 H% Z0 s* ^public class TQC206
, U) T, b: M+ L9 W2 N0 E, j& z{
" ~4 U7 V% S' s K; j public static void main(String args[])
1 F& Y& V5 ?8 e7 E6 Y; Y. I8 ] {
) F. ?' I m- D; G float a,b;
& `9 @: x3 G( j: y9 `; r" ]- O String calc;
& z" j2 M5 B4 q; M# M try{
0 @" o! x$ a8 X; m, {0 X+ n if(args.length==3){
* b" @; H% d# g( I6 p/ E a = Float.parseFloat(args[0]);
" O% D; u6 a6 n b = Float.parseFloat(args[2]);/ Q4 S7 X. f, i1 h
calc = args[1];0 J, y5 V- k. |1 p, R x; N
if(calc.equals("+")){
/ k! r3 `) Y6 J* Z: I& i y# Q System.out.println(args[0]+args[1]+args[2]+"="+(a+b));
+ Q8 L. a& [" o ? ?* c( U }else if(calc.equals("-")){" h! O7 { f& H0 Y- U
System.out.println(args[0]+args[1]+args[2]+"="+(a-b));5 p. | i$ `; s5 @: {! G
}else if(calc.equals("x")){
~9 C* O W9 C0 v8 y6 n2 U. M System.out.println(args[0]+args[1]+args[2]+"="+(a*b)); L) v0 u2 L8 K
}else if(calc.equals("/"))2 R' g) w' O! k# q* `- P6 u
{5 W: b: w0 D: G& a) @
if(b==0)& j9 |8 m( z# Y, u: m
{
- [: @6 J% t3 q+ E }# [ System.out.println("除數不可為 0");
- L' _ j+ j8 }+ _8 y2 ]) t5 f }else
4 _ L- t4 _9 H9 w1 E4 B! |8 m {
$ m4 ]1 \6 x" y2 R7 Y System.out.println(args[0]+args[1]+args[2]+"="+(a/b));
* D7 X+ w# i! [# v7 A, B }
m( Y0 T( {4 d5 V4 a }, `* H9 d7 @4 c/ c2 H5 s7 N1 y4 x
else; b/ R% Q H$ K* l+ @3 b2 G5 S
{
1 I* k0 \$ n3 h R7 E System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");6 c1 r& f; u: o
System.exit(0);- o7 o/ {1 D$ M9 u. ]: a2 I5 E
}
, s- V3 \! m5 L1 D. W }else{
7 n% L, V2 Q, S2 t. v; g System.out.println("請使用三個引數,如下格式\n 1 + 2"); w t; {6 r" a% D& O0 e
}# v' ~+ s! n+ O0 W) c0 y
}
6 D+ k8 @) ?7 j" j% q+ a catch(ArrayIndexOutOfBoundsException e)
% ^ b' x0 j: _+ t {
, V, I$ {- d& i# L/ n# o# s System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
* N& z+ g2 L3 X( ^3 F }
0 N5 s! t; s& I2 {( j* [. u catch(NumberFormatException e)
r; I7 \$ x, \# X2 ~- Z {% a9 Z; J0 \7 Y& G e" y3 n0 j! ?- U
System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
4 w; z8 t2 _+ o8 {+ e& B. w }3 n+ o4 k3 @9 W' i. J2 F# D4 p" Q* X
, v( A; Q* V. ^9 L
}* S6 E8 |/ z7 Z( _8 x
} |