type是void(return;)

时间:2014-06-18 15:11:28

标签: java return void

我只想知道这些代码缺少什么。我想要发生的是,我想再次返回顶部并再次询问新号码。

我试过了返回用户; (正如你所看到的)但它一直说它无效。 谢谢你,如果你能提供帮助!

import java.io.*;

class For {
    public static void main (String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int user;

        System.out.print("Insert number: ");
        user = Integer.parseInt(br.readLine());

        for (user = user; user >=10; user++) {
            System.out.println("User: " + user);
            return user;    //this
        }

    }
}

3 个答案:

答案 0 :(得分:1)

return语句并不意味着任何类型的循环:它通过返回一些值退出方法,如果你试图循环,这绝对不是你想要的。

相反,您必须在for循环中包含对用户的输入请求,并删除return语句。此外,您必须通过将每次迭代的值user=0;递增1来修改循环的开始和结束条件,以从值user<=10开始,直到user++。用这种方式总结:

for (user = 0; user <=10; user++) {
   System.out.print("Insert number: ");
   user = Integer.parseInt(br.readLine());
   System.out.println("User: " + user);
}

答案 1 :(得分:1)

在循环中添加输入,例如:

for (int user = 0; user < 10; user++) {
  System.out.print("Insert number: ");
  int no = Integer.parseInt(br.readLine());

  System.out.println("number: " + no);
}

你的循环中也有错误,条件应该是变量&lt; 10,当它达到10时,它将变为假,因此循环退出

也确定你的循环不会改变计数器变量,否则会改变你的循环behivor

答案 2 :(得分:0)

您已声明方法返回void但您尝试返回int。这是一个直接编译错误。如果您希望/需要完成某个操作并重复此操作直到满足条件,请使用whiledo-while bucle语句:

class For {
    public static void main (String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int user = 1;

        System.out.print("Insert number. Insert zero or less to exit.");
        user = Integer.parseInt(br.readLine());
        //start here
        while (user > 0) {
            //for (user = user; user <=10; user++) {
            System.out.println("User: " + user);
            //return user; //this
            System.out.print("Insert number. Insert zero or less to exit.");
            user = Integer.parseInt(br.readLine());
        }
    }
}