Java 类型为void(return;)
我只是想知道这些代码缺少什么。我想发生的是,我希望这个返回顶部,并再次要求一个新的号码 我尝试了返回用户;正如你所看到的,但它一直在说它是空的。 如果你愿意帮忙,谢谢你Java 类型为void(return;),java,return,void,Java,Return,Void,我只是想知道这些代码缺少什么。我想发生的是,我希望这个返回顶部,并再次要求一个新的号码 我尝试了返回用户;正如你所看到的,但它一直在说它是空的。 如果你愿意帮忙,谢谢你 import java.io.*; class For { public static void main (String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(
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
}
}
}
return语句并不意味着任何类型的循环:它通过返回一些值从方法中退出,如果您试图执行循环,这绝对不是您想要的
相反,您必须在for循环中包含对用户的输入请求,并删除return语句。此外,还必须修改循环的开始和结束条件,以从值user=0;开始;,直到用户在循环中添加输入,如:
for (int user = 0; user < 10; user++) {
System.out.print("Insert number: ");
int no = Integer.parseInt(br.readLine());
System.out.println("number: " + no);
}
此外,循环中存在错误,条件变量应小于10,当它达到10时,将变为false,因此循环退出
此外,在循环内部,不要更改计数器变量,否则它将更改循环。如果您已声明该方法返回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());
}
}
}
在publicstaticvoid中,main将void更改为int。虽然我认为您希望打印出user?@Philip,但您不能将void更改为int。Java要求main方法为void。这个类会编译,但是你不能运行这个程序。哦,我不知道。我更熟悉c语言。您需要初始化用户变量。在for循环中,您只需将其分配给自身,用0或任何您需要的东西初始化它。对于用户=0;用户<10;用户++{return表示从返回,即离开你使用的方法,这是main。你不能只使用return表示返回到程序中的其他点。我不想太苛刻,但是如果你试图通过猜测来编程,那就不管用了,你需要找到一个好的教程。嘿,它工作得很好!谢谢!这会影响循环索引,尝试添加20当您插入数字时,循环将停止direclty@WajdyEssam你是对的,但我试图尽可能少地修改OP代码:我修改了循环条件,使其至少运行一次。也许这就是OP想要的:请求输入一个大于10的整数以退出ok,那么用户++;没有意义更好的选择是使用while或do while重复此行为,直到满足特定条件……您好!这也有效。除了for之外,我也将使用此方法。谢谢!@Naomi别忘了。另外,不客气。谢谢!这也有效!:
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());
}
}
}