我是初学Java程序员并使用Netbeans IDE。
这是我的代码:
Scanner user_input = new Scanner(System.in);
String name;
System.out.println("Hello, what is your name?");
name = user_input.next();
System.out.println("");
String name_answer;
System.out.println("Your name is " + name + ". Is this correct? (yes/no)");
name_answer = user_input.next();
System.out.println("");
if (name_answer.equals("yes")) {
System.out.println("Thank you, " + name + ". Please proceed to the next question.");
} else if (name_answer.equals("no")) {
System.out.println("Please reinput your name correctly.");
for (name_answer.equals("no")) {
String name_again;
System.out.println("");
System.out.println("What is your correct name?");
name_again = user_input.next();
System.out.println("");
System.out.println("Your name is " + name_again + ". Is this correct? (yes/no)");
name_answer = user_input.next();
}
}
在for循环的行[for(name_answer.equals(“no”))]中,它给了我这个问题:
';' expected
Should check the method return value
我找不到任何解决方案,请帮忙!
另外,我试图创建一个循环,每当用户对“这是否正确(是/否)”的问题回答“否”时,它会循环到“你的名字是什么?”。这是循环的结果,如果没有,我该如何解决呢?
感谢您的帮助。
答案 0 :(得分:2)
For循环需要3个参数: for循环的语法是 -
for(initialization; Boolean_expression; update) {
// Statements
}
for (name_answer.equals("no"))
将其更改为:
for (;name_answer.equals("no");)
但正如其他人所说,使用while
是一个更好的选择。
答案 1 :(得分:0)
for(name_answer.equals(“no”)){
上面的语法是错误的。
for循环有两种风格。
for(int i = 0 ; i < 10 ; i++){
// }
for(int i:intArray){ //
}
答案 2 :(得分:0)
我可以看到您要完成的任务,但您需要了解for
循环的工作原理。我建议您阅读有关for
声明的Oracle文档,而不仅仅是给出答案:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
答案 3 :(得分:0)
在完成初始化您要调用的变量之前,您无法调用这些方法。 您使用了错误的for循环
示例
width:100%;height:auto;
但在你的情况下,你已经使用了
for(int i=0;i<10;i++){
System.out.println(i)
}