java 循环语句求解 为什么我下面的程序出现:循环语句不能改变循环外面的布尔型局部变量的值? 10

publicbooleanisNumber(Stringspara{booleanitemp=false;//换到这里运行结果错误intnTemp=spara.lengt... public boolean isNumber(String spara
{
boolean itemp = false;//换到这里运行结果错误
int nTemp = spara.length();
for (int x =0;x<nTemp ;x++ )
{
boolean itemp = false;//换到这里就可以了,为什么哈
char cTemp = spara.charAt(x);
for (int y =0;y<iNum.length ;y++ )
{
if (cTemp == iNum[y])
{
itemp = true;
break;
}
}
if (!itemp)return false;
}
return true;
}
展开
 我来答
miaoch
2016-07-08 · TA获得超过1204个赞
知道小有建树答主
回答量:814
采纳率:83%
帮助的人:341万
展开全部
楼主是这样的,比如你输入1b2ccccc
这个不是数字
但是第一位是数字
你itemp写在外面,判断第一个数字是数字的时候,会由false变成true,
当检查b的时候,就算没有一个数字匹配 此时itemp还是true 所以才有这个现象

所以你在每次判断该字符是不是数字前 都必须把itemp置为false 这样你的程序才没有bug
丅藇兲
2016-07-08
知道答主
回答量:18
采纳率:0%
帮助的人:10.5万
展开全部
我在想,是不是方法参数那里的小括号漏打了。。。
话说楼主的报错是中文的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0b3b4d7
2016-07-08
知道答主
回答量:28
采纳率:0%
帮助的人:7万
展开全部
你要把错误贴出来看看才知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
250165062
2016-07-08 · TA获得超过302个赞
知道答主
回答量:101
采纳率:66%
帮助的人:15.7万
展开全部
iNum哪里来的?代码中没说明
更多追问追答
追问
那个是对的,我现在将boolean itemp = false放到FOR循环里面运行结果就对的,而放到for循环外面运行结果就错的,想不通啊
追答

如图,无错。可能是你外部调用问题。也不知道iNum是什么,我这里随便定了一个数组来测。可能结果不一致。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式