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
展开
 我来答
C8LUKA
2011-12-04 · 超过35用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:82.5万
展开全部

Scanner sc=new Scanner;

do

  String a;

  System.out.println("entry yes or no");

  a=sc.nextLine():

  if (a.equals("no"))

      break;

  }while(true);

System.out.println("end");

不知道你出了什么问题了,我在机子上跑是没有问题的。就是这样就可以了

百度网友b8fc601
2011-12-04
知道答主
回答量:3
采纳率:0%
帮助的人:4699
展开全部
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"),感叹号一定要加.
追问
这个例子是我刚刚随手写的可能比较唐突所有有错,但是在我写的程序里不存在这些问题,问题是不管我怎么设置循环条件,运行到输出语句之后,跳过输入语句,直接结束循环了,你可以明白我的意思么?就是  a=sc.nextLine();
if (a.equals("no"))
{ break;}
以上部分似乎不运行了,直接跳出循环了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宇惠生汽配推广
2011-12-04 · TA获得超过161个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:99.5万
展开全部
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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b191ca5
2011-12-04 · TA获得超过112个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:211万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式