switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":5 ? X1 L. l' b# p
因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:
! p& X/ z V7 I8 g. J, f5 r( a% y4 b
public class TQC206
0 v; C! i$ z3 f{
! ?& J" j6 v) D) v public static void main(String args[])5 x3 n9 P7 y: ]3 A! U( a! `
{0 [8 \3 ^6 h7 L$ {
float a,b;3 v0 [8 I0 ^+ K& m% z
String calc;
9 m; J ?, K" f. t, H+ f9 i) ]7 m1 { try{: \/ d1 j; @* }/ u4 g$ U6 O! G
if(args.length==3){8 U' ]' v* Z: Y& I$ |
a = Float.parseFloat(args[0]);! B' |+ n6 }) A7 A# Q+ U! J
b = Float.parseFloat(args[2]);: o/ l& `' [* o5 o
calc = args[1];
! j) n. \7 S, ^& M7 P if(calc.equals("+")){' B, b( X3 k! o
System.out.println(args[0]+args[1]+args[2]+"="+(a+b));) b9 h3 V) N; m6 i+ O C2 b
}else if(calc.equals("-")){8 n; h( r3 o8 m$ B) D5 l
System.out.println(args[0]+args[1]+args[2]+"="+(a-b));* F4 d1 B- G8 k* a& a
}else if(calc.equals("x")){' R% K) Q8 \7 L( B6 x3 v
System.out.println(args[0]+args[1]+args[2]+"="+(a*b));
& {+ ^% _1 H+ N, E% R1 H7 a }else if(calc.equals("/"))
- w, S" {; F4 N l0 l# T- L {% x9 u1 c d& P. e( C5 g
if(b==0)! X0 E# n i' {2 [
{
' P0 n. ~+ H" ` System.out.println("除數不可為 0");! }; c. {* D6 Q5 s) X- @/ g" q7 v+ n
}else
& x0 j$ D$ R0 B {7 [2 Z: G) D1 T) K: S
System.out.println(args[0]+args[1]+args[2]+"="+(a/b));( U' D( h' O' O5 |& f
}
/ N- O$ R7 ?* ^7 M }
) R0 R6 N! W7 ~* M' F+ b else
; ~: r* k- i5 d {
% y( J4 r2 C" p1 a% D& C+ z System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");
+ i" c8 c% T- T2 T8 B: T( h* q System.exit(0);
' {7 O0 _6 a5 F9 R/ M }
* ~' ^6 f. X! V7 e% T; |7 P4 w }else{
" S, P0 t- U z8 G" b: E" i; z System.out.println("請使用三個引數,如下格式\n 1 + 2");. L0 J5 L# S. e% S$ I$ C
}8 G- K8 b1 e1 X
}
8 K4 F4 c0 R$ D* V* u# u \3 j catch(ArrayIndexOutOfBoundsException e)
* S3 \6 I+ C( r& d& H {
" a7 H, {6 g8 L, [4 ]8 T System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());( u4 P6 @& A0 d! j. q- S) K4 `
}
# i5 ]+ i$ Z8 O+ W, C. i catch(NumberFormatException e)
Q! x: b! I+ e8 R5 p+ K9 n) R4 x {
, e! j9 z# i& _2 w System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());3 ~4 D3 o' i0 w; A1 l4 U/ D
}% Q1 `( M0 J1 D6 W1 s0 y$ { m9 U7 \
( H, w1 j, F0 M1 n5 P, b% { }' w+ u4 C% h3 b }
} |