JAVA中do-while在do这不进入循环

importjava.util.Scanner;publicclassTest4{publicstaticvoidmain(String[]args){booleanis... import java.util.Scanner;
public class Test4 {
public static void main(String[] args){
boolean isRight =true;
String name = "";
Scanner input = new Scanner(System.in);
System.out.println("欢迎使用Myshopping管理系统");
System.out.println("*************************************************************");
System.out.println(" 1、客户信息管理" );
System.out.println(" 2、购物结算");
System.out.println(" 3、真情回馈");
System.out.println(" 4、注销");
System.out.println("*************************************************************");
System.out.print("\n请选择,输入数字:");
do{
int num = input.nextInt();
isRight = true;
switch(num){
case 1:
name="客户管理";
break;
case 2:
name="购物结算";
break;
case 3:
name = "真情回馈";
break;
case 4:
name = "注销";
break;
default:
System.out.print("输入错误,请重新输入数字:");
isRight = false;
// num = input.nextInt();
}
}while(isRight = false);
System.out.println("执行"+name);
}
}
展开
 我来答
般若兮若
2012-07-28 · TA获得超过2706个赞
知道小有建树答主
回答量:1246
采纳率:0%
帮助的人:1020万
展开全部
import java.util.Scanner;
public class Test4 {
public static void main(String[] args){
boolean isRight =true;
String name = "";
Scanner input = new Scanner(System.in);
System.out.println("欢迎使用Myshopping管理系统");
System.out.println("*************************************************************");
System.out.println(" 1、客户信息管理" );
System.out.println(" 2、购物结算");
System.out.println(" 3、真情回馈");
System.out.println(" 4、注销");
System.out.println("*************************************************************");
System.out.print("\n请选择,输入数字:");
do{
int num = input.nextInt();
isRight = true;
switch(num){
case 1:
name="客户管理";
break;
case 2:
name="购物结算";
break;
case 3:
name = "真情回馈";
break;
case 4:
name = "注销";
break;
default:
System.out.print("输入错误,请重新输入数字:");
isRight = false;
// num = input.nextInt();
}
}while(isRight == false);
System.out.println("执行"+name);
}
}

一个=是赋值.连等才是比较
jiangzhaos
2012-07-28 · 超过22用户采纳过TA的回答
知道答主
回答量:80
采纳率:100%
帮助的人:31.2万
展开全部
如果用eclipse或者其他编译工具编的话,应该回报编译错误啊。
你上面的
}while(isRight = false);
这一句写错了,应该是两个等号,因为while需要的是一个boolean变量,而不是赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
牙刷的悲伤
2012-08-09 · TA获得超过1467个赞
知道小有建树答主
回答量:341
采纳率:0%
帮助的人:420万
展开全部
int num = input.nextInt();
isRight = true;

下面的语句没必要,因为你给它了一个初始值,while里的不是判断语句,而是赋值语句,这里编译器应该会报错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
793902403
2012-07-28
知道答主
回答量:7
采纳率:0%
帮助的人:3.9万
展开全部
}while(isRight = false); 改为 :}while(isRight == false);
在循环没法进入的时候,肯定是循环变量设置有问题,或者是循环语句的控制问题,只需检查循环控制变量和while里面的执行语句即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赛尔少年98
2012-07-28
知道答主
回答量:74
采纳率:0%
帮助的人:43万
展开全部
isRight=false编译的时候就会报错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
only贝比
2012-07-28
知道答主
回答量:13
采纳率:0%
帮助的人:7.6万
展开全部
while(isRight = false)
改while(isRight == false)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式