Java Netbeans:应使用分号检查方法返回值

时间:2017-08-08 18:29:54

标签: java netbeans

我是初学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

我找不到任何解决方案,请帮忙!

另外,我试图创建一个循环,每当用户对“这是否正确(是/否)”的问题回答“否”时,它会循环到“你的名字是什么?”。这是循环的结果,如果没有,我该如何解决呢?

感谢您的帮助。

4 个答案:

答案 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循环有两种风格。

  1. for(int i = 0 ; i < 10 ; i++){
    

    //         }

  2. 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)
}