[Java] switch-case 當中的變量定義


 1 switch(c){
 2                     case '+':
 3                         int res =d1+d2;
 4                         data.push(res);
 5                         break;
 6                     case '-':
 7                         res = d2-d1;
 8                         data.push(res);
 9                         break;
10                     case '*':
11                         res =d1*d2;
12                         data.push(res);
13                         break;
14                     case '/':
15                         res = d2/d1;
16                         data.push(res);
17                         break;
18 }

上面的定義是有問題的,會提示res的重復定義,所以switch當中的多個case語句實際上命名空間是一樣的。

所以上面應該定義為:

 1                 int res=0;
 2                 switch(c){
 3                     case '+':
 4                         int res =d1+d2;
 5                         data.push(res);
 6                         break;
 7                     case '-':
 8                         res = d2-d1;
 9                         data.push(res);
10                         break;
11                     case '*':
12                         res =d1*d2;
13                         data.push(res);
14                         break;
15                     case '/':
16                         res = d2/d1;
17                         data.push(res);
18                         break;
19                 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM