java中while循环加入循环处理标志有什么用?
importjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.io.IOExceptio...
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
class Inputdate{
private BufferedReader br=null;
public Inputdate(){
br=new BufferedReader(new InputStreamReader(System.in));
}
public String getString(String info){
String s=null;
System.out.println(info);
try{
s=this.br.readLine();
}catch(IOException e){
e.printStackTrace();
}
return s;
}
public int getInt(String info,String err){
int temp=0;
String str=null;
boolean flag=true;
while(flag){
str=this.getString(info);
if(str.matches("^\\d+$")){
temp=Integer.parseInt(str);
flag=false;
}else{
System.err.println(err);
}
}
return temp;
}
}
public class ExecDemo02 {
public static void main(String[] args){
int i=0;
int j=0;
Inputdate in=new Inputdate();
i=in.getInt("请输入第一个数字:", "输入错误");
j=in.getInt("请输入第二个数字:", "输入错误");
System.out.println(i+"+"+j+"="+(i+j));
}
}
这个例子中 flag有什么作用? 展开
import java.io.InputStreamReader;
import java.io.IOException;
class Inputdate{
private BufferedReader br=null;
public Inputdate(){
br=new BufferedReader(new InputStreamReader(System.in));
}
public String getString(String info){
String s=null;
System.out.println(info);
try{
s=this.br.readLine();
}catch(IOException e){
e.printStackTrace();
}
return s;
}
public int getInt(String info,String err){
int temp=0;
String str=null;
boolean flag=true;
while(flag){
str=this.getString(info);
if(str.matches("^\\d+$")){
temp=Integer.parseInt(str);
flag=false;
}else{
System.err.println(err);
}
}
return temp;
}
}
public class ExecDemo02 {
public static void main(String[] args){
int i=0;
int j=0;
Inputdate in=new Inputdate();
i=in.getInt("请输入第一个数字:", "输入错误");
j=in.getInt("请输入第二个数字:", "输入错误");
System.out.println(i+"+"+j+"="+(i+j));
}
}
这个例子中 flag有什么作用? 展开
展开全部
便于循环中根据业务逻辑结束循环。
相对于continue或者break来说更加灵活。
举例:
boolean flag = true;//定义循环标记
int cnt = 1000;//循环,这里假定while次数为cnt值
while(cnt<0 && flag){
cnt--;//这里循环次数减1
if(cnt==500){//判断条件,如果符合则置为false
flag = false;
}
cnt = 1000;//如果flag=false处使用continue或者break,则无法执行这一行
}
展开全部
flag只是起到控制循环次数的作用,当用户输入正确的数字时,循环条件flag就会变成false,并退出循环;相反,如果用户输入错误,如输入非数字字符串,那么flag仍然等于true,while循环不会退出,并打印出“输入错误”,然后会继续等待用户输入。
追问
如果不加入while循环会有什么问题么?
追答
你试过吗?要试试才知道啊。如果不加入,不修改flag的值,会提示你不断地输入。其实我不怎么喜欢这种编码风格,有些降低其可读性
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
break就是指跳出当前循环的,你的break在内层循环,
那么跳出后执行的就是下一次的外层循环。
你说结束外层循环进入下一次是指什么?
for(Down down :list_down){这个外层还有一层么,
如果没有的话结束这一层这个循环就结束了的说~
那么跳出后执行的就是下一次的外层循环。
你说结束外层循环进入下一次是指什么?
for(Down down :list_down){这个外层还有一层么,
如果没有的话结束这一层这个循环就结束了的说~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一旦循环体内的 if的判断条件满足了 就不进行下一次循环了哦~ 加油↖(^ω^)↗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询