首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Do While问题

Do While问题
EN

Stack Overflow用户
提问于 2013-11-20 01:52:57
回答 2查看 124关注 0票数 0

好的,我要做个比较。Prog。我高中的班级和“教授”班级的老师对编程几乎一无所知。我加入了Java UIL团队,正在用某大学网站上的课程授课。无论如何,我昨天开始写一个身体质量指数计算器,并取得了成功,但我的问题是,我希望有一个println提示符,在计算完成后再次运行程序。现在,我已经学习了这次的Do While循环,但我的问题是扫描仪。我想以字符串的形式接收输入,但当我这样做时

代码语言:javascript
复制
String a = sc.nextLine(); 

do之外,它表示不能将yyes解析为变量。一位朋友推荐了switch cases,你觉得呢?我使用Eclipse BTW。

代码语言:javascript
复制
String a = sc.nextLine();
do{
    wow(); //My method name
}while(a == y); //Error is here
EN

回答 2

Stack Overflow用户

发布于 2013-11-20 01:54:25

要比较java中的对象,请使用.equals()方法而不是"==“运算符

使用while(a.equals("y"));而不是while(a == y);

票数 0
EN

Stack Overflow用户

发布于 2013-11-20 01:55:46

代码语言:javascript
复制
while(a == y);

这永远不会起作用,原因有两个:

  • ==比较引用,而不是对象的内容。所以这里它只是检查ay是否指向相同的对象,而不是检查它们是否包含相同的内容。
  • 您还没有声明y anywhere。我假设您想要将a与文字字符串"y"进行比较,在这种情况下,您应该使用a.equals("y").

你的循环可以像这样构造:

代码语言:javascript
复制
String input;
do {
    wow();
    input = scanner.nextLine();
} while(input.equalsIgnoreCase("y"));  //using equalsIgnoreCase because user
                                       //can input "y" or "Y".
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20078518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档