Java 边问边做
好的,我要参加一个综合考试。掠夺。在我的高中班上,“教”这个班的老师实际上对编程一无所知。我加入了javauil团队,正在通过一些大学网站上的课程进行教学。不管怎样,我昨天开始编写体重指数计算器,并取得了成功,但我的问题是,我希望在计算完成后有一个Java 边问边做,java,string,while-loop,do-while,Java,String,While Loop,Do While,好的,我要参加一个综合考试。掠夺。在我的高中班上,“教”这个班的老师实际上对编程一无所知。我加入了javauil团队,正在通过一些大学网站上的课程进行教学。不管怎样,我昨天开始编写体重指数计算器,并取得了成功,但我的问题是,我希望在计算完成后有一个println提示符来再次运行该程序。现在,我已经学会了这次的Do-While循环,但我的问题是扫描仪。我想以字符串形式接收输入,但当我这样做时 String a = sc.nextLine(); 在do之外,它表示y或yes不能解析为变量。一位朋
println
提示符来再次运行该程序。现在,我已经学会了这次的Do-While
循环,但我的问题是扫描仪。我想以字符串形式接收输入,但当我这样做时
String a = sc.nextLine();
在do
之外,它表示y
或yes
不能解析为变量。一位朋友建议换箱子,你觉得怎么样?顺便说一句,我使用Eclipse
String a = sc.nextLine();
do{
wow(); //My method name
}while(a == y); //Error is here
要在java中比较对象,请使用.equals()方法而不是“==”运算符 使用
while(a.equals(“y”)代码>而不是while(a==y)代码>
这永远不会奏效,原因有二:
=
比较引用,而不是对象的内容。所以这里只检查a
和y
是否指向同一个对象,而不是它们是否包含相同的内容
- 您没有在任何地方声明
y
。我假设您想将a
与文本字符串“y”
进行比较,在这种情况下,您应该使用a.equals(“y”)
循环的结构可以如下所示:
String input;
do {
wow();
input = scanner.nextLine();
} while(input.equalsIgnoreCase("y")); //using equalsIgnoreCase because user
//can input "y" or "Y".
你的测试应该是a.equals(“y”)
不要将=
与字符串一起使用。请看你是否声明了a
和y
?你可能需要while(“y”).equalsIgnoreCase(a)| |“YES”。equalsIgnoreCase(a))
String input;
do {
wow();
input = scanner.nextLine();
} while(input.equalsIgnoreCase("y")); //using equalsIgnoreCase because user
//can input "y" or "Y".