[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