JAVA程序直接跳过判定循环结束语句了
我举个例子Scannersc=newScanner;do{Stringa;System.out.println("entryyesorno");a=sc.nextLine...
我举个例子
Scanner sc=new Scanner;
do
{
String a;
System.out.println("entry yes or no");
a=sc.nextLine():
if (a.equals("no"))
{ break};
}while(a.equals("no"));
System.out.println("end");
我的程序不能进行循环,也就是说能输出entry yes or no这句,但是不能输入,也不能进行判断,直接结束循环输出了end 展开
Scanner sc=new Scanner;
do
{
String a;
System.out.println("entry yes or no");
a=sc.nextLine():
if (a.equals("no"))
{ break};
}while(a.equals("no"));
System.out.println("end");
我的程序不能进行循环,也就是说能输出entry yes or no这句,但是不能输入,也不能进行判断,直接结束循环输出了end 展开
4个回答
展开全部
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
do
{
String a;
System.out.println("entry yes or no");
a=sc.nextLine();
if (a.equals("no"))
{ break;}
}while(true);
System.out.println("end");
}
while 后面的条件和你if的条件自相矛盾了,你if语句执行的是当你输入no的时候跳出循环,而你while却是“当你输入no的时候继续循环,”所以不管你输入什么都跳出循环。 解决方法:第一种,把while的条件改成 true;第二种:把if语句删除,while 循环的条件改成 !a.equals("no"),感叹号一定要加.
Scanner sc=new Scanner(System.in);
do
{
String a;
System.out.println("entry yes or no");
a=sc.nextLine();
if (a.equals("no"))
{ break;}
}while(true);
System.out.println("end");
}
while 后面的条件和你if的条件自相矛盾了,你if语句执行的是当你输入no的时候跳出循环,而你while却是“当你输入no的时候继续循环,”所以不管你输入什么都跳出循环。 解决方法:第一种,把while的条件改成 true;第二种:把if语句删除,while 循环的条件改成 !a.equals("no"),感叹号一定要加.
追问
这个例子是我刚刚随手写的可能比较唐突所有有错,但是在我写的程序里不存在这些问题,问题是不管我怎么设置循环条件,运行到输出语句之后,跳过输入语句,直接结束循环了,你可以明白我的意思么?就是 a=sc.nextLine();
if (a.equals("no"))
{ break;}
以上部分似乎不运行了,直接跳出循环了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
break 经常用在switch中 每一个case都需要增加这个 如果不增加的话会造成循环穿越
更多追问追答
追问
不是这个意思,我举个例子
Scanner sc=new Scanner;
do
{
String a;
System.out.println("entry yes or no");
a=sc.nextLine():
if (a.equals("no"))
{ break};
}while(a.equals("no"));
System.out.println("end");
我的程序不能进行循环,也就是说能输出entry yes or no这句,但是不能输入,也不能进行判断,直接结束循环输出了end
追答
几点问题 第一 Scanner sc=new Scanner; Scanner是一个方法 需要Scanner sc=new Scanner();
括号里填入 输入流 比如从控制台输入system.in
第二 你的if 和while的条件相同 如果满足if的条件则跳出循环了 但是如果不满足if条件 也不执行while 也就是说你不管任何输入都只能循环一次 这个逻辑错误 建议将while写成true
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
break;
追问
不是这个意思,我举个例子
Scanner sc=new Scanner;
do
{
String a;
System.out.println("entry yes or no");
a=sc.nextLine():
if (a.equals("no"))
{ break};
}while(a.equals("no"));
System.out.println("end");
我的程序不能进行循环,也就是说能输出entry yes or no这句,但是不能输入,也不能进行判断,直接结束循环输出了end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询