我只想知道这些代码缺少什么。我想要发生的是,我想再次返回顶部并再次询问新号码。
我试过了返回用户; (正如你所看到的)但它一直说它无效。 谢谢你,如果你能提供帮助!
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
}
}
}
答案 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
。这是一个直接编译错误。如果您希望/需要完成某个操作并重复此操作直到满足条件,请使用while
或do-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());
}
}
}