如何终止这一个if语句
例如while(true){if(i=1){inti=1;if(i>0)continue;//这句是对的elsebreak;//这句就会退出整个循环,其实我只想退出该层的...
例如
while(true){
if(i=1)
{ int i=1;
if(i>0) continue; //这句是对的
else break; //这句就会退出整个循环 ,其实我只想退出该层的if
} //怎么办?
if{..}
else {...}
}
while(true)
{
System.out.println("0:添加信息--"+"1:查找信息--"+"2:退出\n");
switch(integer)
{
case 0:
m1.AddMassage();
System.out.println("继续添加:0--返回:1");
//input an integer
BufferedReader n2=new BufferedReader(new InputStreamReader(System.in));
String s2=n.readLine();
int integer2=Integer.parseInt(s);
//choose
if(integer2==0)continue;
break;
case 1:
m1.SearchMassagr();
break;
case 2:
System.exit(0);
break;
}
BufferedReader n1=new BufferedReader(new InputStreamReader(System.in));
String s1=n.readLine();
int integer1=Integer.parseInt(s);
}
}catch(Exception e){}
}
大家好 感谢支持!看这段 那是我早上临时乱写的 不好意思
其实我就是想结束第一个情况 返回到最开始的 选择状态的 展开
while(true){
if(i=1)
{ int i=1;
if(i>0) continue; //这句是对的
else break; //这句就会退出整个循环 ,其实我只想退出该层的if
} //怎么办?
if{..}
else {...}
}
while(true)
{
System.out.println("0:添加信息--"+"1:查找信息--"+"2:退出\n");
switch(integer)
{
case 0:
m1.AddMassage();
System.out.println("继续添加:0--返回:1");
//input an integer
BufferedReader n2=new BufferedReader(new InputStreamReader(System.in));
String s2=n.readLine();
int integer2=Integer.parseInt(s);
//choose
if(integer2==0)continue;
break;
case 1:
m1.SearchMassagr();
break;
case 2:
System.exit(0);
break;
}
BufferedReader n1=new BufferedReader(new InputStreamReader(System.in));
String s1=n.readLine();
int integer1=Integer.parseInt(s);
}
}catch(Exception e){}
}
大家好 感谢支持!看这段 那是我早上临时乱写的 不好意思
其实我就是想结束第一个情况 返回到最开始的 选择状态的 展开
11个回答
展开全部
上楼的说得对。判断语句应该是if( i == 1 )这样啊;
再看你的第三、第四行,你先将1赋值给i,然后判断i是否大于0,那显然是一直都大于0的哦。那我觉得这两句就没有意义啦。
倒数第三行你的if也好像没有判断(用括号括起来)。
break 是用来跳出while 、for 、 switch循环的。它不是用来跳出if包括起来的语句块。
所以我觉得如果你想达到你想要的目的,应该是通过合适的if...else语句来实行。
愚见而已,请勿见笑。
再看你的第三、第四行,你先将1赋值给i,然后判断i是否大于0,那显然是一直都大于0的哦。那我觉得这两句就没有意义啦。
倒数第三行你的if也好像没有判断(用括号括起来)。
break 是用来跳出while 、for 、 switch循环的。它不是用来跳出if包括起来的语句块。
所以我觉得如果你想达到你想要的目的,应该是通过合适的if...else语句来实行。
愚见而已,请勿见笑。
展开全部
首先你那个等号判断写的有问题,应该是“==”。再者你是要跳出哪个层啊?IF(i>0)不成立的时候他就已经跳出那个IF层了啊,“else break;”这整句都变成是多余的了。你这个程序段整个都有问题吧,都不知道在写什么,int i=1;后面并没有改变i的值,if(i>0)就一定成立,而且这个层内并没有改变i的值,怎么会执行到else break。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是没有直接的办法,可以调整一下程序的内容,
将这里边的改成:
if(i==1)
{
int
i
=
1;
if(i>0)
continue;
}
i=0和i<0的情况不会进入到程序中,所以可以自然顺序的退出该if语句.
将这里边的改成:
if(i==1)
{
int
i
=
1;
if(i>0)
continue;
}
i=0和i<0的情况不会进入到程序中,所以可以自然顺序的退出该if语句.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(i=1) 这句错应该是if(i==1)
break就是这个用法,其实没必要这样写,不规范。
换个写法就可以
break就是这个用法,其实没必要这样写,不规范。
换个写法就可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这段代码本身就有问题
首先是if(i=1)就是错了,应该是i==1
其次int i=1;
那if(i>0)永远成立,则一直continue
首先是if(i=1)就是错了,应该是i==1
其次int i=1;
那if(i>0)永远成立,则一直continue
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询