switch裡面要用字串的話,JDK必須要使用1.7以上,還有case後面不該緊接著判斷字串,應該要加一個空白,例如:case "+":
% K" C$ T, ^) ?因為你或許不能掌握考試時JDK的版本,switch-case那邊我建議你用if-else-if取代,程式範例如下:
% n7 H( @8 \" q- Q: a% z
2 i/ X$ s7 d% S; p) g3 Opublic class TQC206! @: I8 U- N' |. x$ H6 \; g) v
{ s1 E. v! Y- }; k- ^. R! p
public static void main(String args[])
0 A& f1 \3 f% d, h4 V! | {+ Q* @5 e2 p0 l9 A. h8 E+ E
float a,b;
8 V+ V' ^8 e2 q String calc;
6 z: F; E% D4 s/ m% ?3 E; S1 f try{
& S. ^9 q3 P3 j3 h& f if(args.length==3){0 z3 p/ V' C5 g+ d
a = Float.parseFloat(args[0]);) | T4 m* K; p* m" `# E: A* {
b = Float.parseFloat(args[2]);
" J7 t. F2 L1 z* q7 \% k- R8 } calc = args[1];/ G" i$ P9 d# a9 B+ @! u7 _
if(calc.equals("+")){
( I( r' C" |, t System.out.println(args[0]+args[1]+args[2]+"="+(a+b));
6 f9 c3 s" m3 G M* o }else if(calc.equals("-")){
- N9 N' \ T8 b6 T/ a# [3 T System.out.println(args[0]+args[1]+args[2]+"="+(a-b));
& h* k( n$ j4 _ }else if(calc.equals("x")){
) L) e! @; O- \9 J System.out.println(args[0]+args[1]+args[2]+"="+(a*b));. P5 D- C" \4 e0 {
}else if(calc.equals("/"))
5 }0 Y* A8 }% U$ I1 H( m {$ k: [) t$ K2 i- c% b( L( i" P
if(b==0)
7 [2 Y) D. u) U# Q- W7 f {
, p0 I4 ^. Z7 ]8 ^, S$ d7 c System.out.println("除數不可為 0");
. a# O* S) y" }9 g }else
" h6 i I* x9 Z6 ~$ P G( P: d {3 N* ?# I$ K0 S+ [
System.out.println(args[0]+args[1]+args[2]+"="+(a/b));
% l0 S+ U F# |! f$ X }
8 W: q0 k. J: r3 ^9 V/ K }
' o6 f. J8 ]% O$ x/ v2 E$ O else$ ~; x( W3 a. M# i+ X8 I9 c' B P) F
{
! k, s( d% `/ S* l9 i System.out.println("第二個引數請使用 + - x / 的其中一種運算符號");
8 D% U! s3 q, k* o: c1 i System.exit(0);
7 H' i6 i) O% O/ R( g7 W }
. x9 d3 E+ `- z, h/ r, l2 t6 g! w }else{
6 C8 N# T% z+ Y1 h System.out.println("請使用三個引數,如下格式\n 1 + 2");
0 u( z3 q# k/ F6 |6 T, ] }
: i( L) v8 ]6 w7 D2 u2 A6 u. B& } }) W& O% D* j$ V0 x3 V* _
catch(ArrayIndexOutOfBoundsException e)
+ N- c+ E- M0 Y. W8 L {
4 `/ z7 R9 i1 V; O' B8 y, K( ` System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());
' \5 K0 G! r$ ~7 R P* c }
4 g8 i4 G% L' y# D$ E- ] catch(NumberFormatException e)
" k+ B8 T( G' { {
( ?. L% q2 D9 t& y System.out.println("使用引數不對,請使用如下格式\n 1 + 2\n"+e.getMessage());2 G0 G! R F- |6 c, j; S: r/ K
}3 z. v$ N& {5 K2 i5 l2 ^+ P
5 n8 y8 h4 g6 {7 ~: }' z$ G } d3 Q: H7 m. L. r8 l
} |