switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":
6 M% {' d7 A3 h. h因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:
. t ^/ U7 z1 b$ e1 K& l7 F
0 E9 R5 U% A( W2 m- Spublic class TQC206
" P: @% }, T, v# b{$ a. Y; ^8 O& f3 A. t# F- C7 c
public static void main(String args[])' h+ {5 O! Q' v/ r6 k# @% l4 k/ c: u$ m
{
2 f# R# A8 L9 w* z9 P float a,b;
) W0 V! F! x; m: H; Q# a" _" X String calc;; o5 P2 t; ~& P+ D* N' ^
try{' _" E( ]1 Q( ]6 O3 Q) g/ I# Q
if(args.length==3){
8 d2 c3 n5 U2 z9 g6 c! Z a = Float.parseFloat(args[0]);2 r& C' k9 W3 F! h
b = Float.parseFloat(args[2]);8 A7 W/ X* V5 K# s' N! y
calc = args[1];& W& h% V9 \. ^
if(calc.equals("+")){# Z1 W8 v0 L4 r
System.out.println(args[0]+args[1]+args[2]+"="+(a+b));5 d9 k. ]7 P* c4 l9 K6 V& [
}else if(calc.equals("-")){! H4 e" T1 }+ B5 Z7 V
System.out.println(args[0]+args[1]+args[2]+"="+(a-b));
' ?4 p% j' e- k }else if(calc.equals("x")){/ d8 ?' |+ `/ B! K
System.out.println(args[0]+args[1]+args[2]+"="+(a*b));
/ o, M) Y5 d/ n R* h, k% | }else if(calc.equals("/"))! s, v, I7 Z1 h
{) a& \- F- O/ j+ R' A2 @9 j; b
if(b==0)1 o5 k/ I) W+ J2 e
{
1 g+ S7 M+ m' l: t System.out.println("除數不可為 0");
! |7 b+ I- C# w8 x& Y" m! p }else
. I' Q8 e" h0 A0 S) i {
; Z$ \2 ^- C& R& Z# e; { System.out.println(args[0]+args[1]+args[2]+"="+(a/b));" D, ^8 k3 h' y/ s- S) V
}
/ o2 R+ A9 b/ j/ E% `7 A' K }6 t/ w0 C6 P3 Q
else3 n/ U+ ^; r2 u
{
. I, x/ X5 G* D System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");
5 e0 f* e: k: S* Z' G3 m( h System.exit(0);
# K4 r' M" K5 B( _! \ }/ M, J$ m9 v6 [: K- z
}else{4 c3 l) O: k" P% s' ?+ y( J! y
System.out.println("請使用三個引數,如下格式\n 1 + 2");# g) ~# I1 \2 i) g
}
/ Z8 c4 _ |6 `# U1 F& v# y" ~ }0 I% f3 J0 v' `2 H9 C
catch(ArrayIndexOutOfBoundsException e)" w+ o; W/ o5 c
{
- E8 Q7 o0 \. s2 E4 Q System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
& _7 k( H; Z o }% t8 J8 O. h; h
catch(NumberFormatException e)
4 H' r0 C* W( c9 B {
$ ?: V6 R5 N* U$ E System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
" O3 Y/ R+ X% ~3 u( L- r/ h+ J; H }
( H9 u# ?. Y5 R
8 a$ u% f4 N. Q% |% }( |% l. ? }
% n* T) a' ^* k) D+ [$ ~% ]} |