返回列表 發帖
switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case  "+":
1 g; Z  e7 I2 Q( A) Y, v因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:
' Y  R9 J1 O7 Q% ^
: b& ]  p0 Y+ D+ e' F6 j& f- B8 A) Mpublic class TQC206, @$ n) v2 V. ^. A
{+ ?' W+ n" {1 c4 ~) w) U( O
   public static void main(String args[]); @4 O% M8 m3 q' p4 a" |9 x% e+ [
    {/ ]! D1 s( A! J0 |$ k# o, n% T
      float a,b;
1 f7 I0 q: H! G+ Y8 |/ E" L* r      String calc;
$ [  o3 X+ x3 ]- |2 ]. {9 n: K      try{
/ m: ~- w8 ?" k5 g         if(args.length==3){6 f6 n' Y! [) P" U7 K: U* R6 j
            a = Float.parseFloat(args[0]);5 {! V  ?9 w# z9 {* r. @
            b = Float.parseFloat(args[2]);3 W! v' g. P* ~
            calc = args[1];
. i2 e$ _: Y7 I6 \( r: Y  U+ j            if(calc.equals("+")){& E* B) D4 x. c" t
               System.out.println(args[0]+args[1]+args[2]+"="+(a+b));
1 d! f' ^% p2 F# X' G            }else if(calc.equals("-")){
0 |2 Y1 m7 V: _' `               System.out.println(args[0]+args[1]+args[2]+"="+(a-b));5 m3 I5 ]+ G9 g+ \5 }- n% m
            }else if(calc.equals("x")){. n2 P2 I% w, c
               System.out.println(args[0]+args[1]+args[2]+"="+(a*b));
' E& n- n' A2 {            }else if(calc.equals("/"))6 X: P& |% q$ C* y0 ]" c
            {
: Q- Q4 w- }# e6 o" O1 y- l$ s, f               if(b==0)- f1 Z4 ?8 e/ R3 ]7 K) k2 b, {
               {1 N# E  {6 W/ Z
                 System.out.println("除數不可為 0");
0 E9 w* l; t( }. ^8 P, {               }else
7 E2 \, v5 M) b$ t- ]) s               {
. ?" F0 _4 ]0 H( O1 K' d, J                  System.out.println(args[0]+args[1]+args[2]+"="+(a/b));$ O) @* v) U, q' P  Y' q
               }
2 z7 p" P7 U0 v4 `2 P            }
5 r% \5 _! y" r, r            else: B1 X% w, \+ v( k; G+ \* \/ J
            {
3 G9 q* }- G) `2 M/ S3 c# f! [% k6 X               System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");
8 K4 P# T# ~5 W               System.exit(0);
2 W$ I2 }. ^) C' x" {            }
7 r  V' p( z: z/ e" a0 ]         }else{
; R; P8 y& U8 B8 \            System.out.println("請使用三個引數,如下格式\n 1 + 2");( m% H. ^: q* M9 ~
         }8 D+ v5 r2 U/ i, L! g" u0 p% D
      }
+ C0 k, C1 Y0 r, q3 ^1 c" i$ L      catch(ArrayIndexOutOfBoundsException e)3 v+ q5 ]5 v- l  h
      {+ y' i4 U6 x/ P/ m/ n2 {3 h
               System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
' m  p# d) e* M5 G0 N" {      }( D8 C  T2 r$ b) i1 a4 N
      catch(NumberFormatException e)
  F. C9 a, P: b2 y- L9 x5 K      {
# q' f, A  `: V* H         System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());& Z, A& g. z/ u& q9 }- r
      }/ E* R: U# n$ y; B( c( y
      
( r9 `  q& i- D    }
7 c" f) {* D: M7 l}

TOP

返回列表