If statement 尝试使用if-else签入int返回方法,但它没有';行不通 public static int getIntFromUser(字符串提示){ 扫描仪输入=新扫描仪(系统输入); System.out.println(提示); 布尔循环=真; int input=in.nextInt(); while(循环){ 如果(输入=0 | |输入
嗨,我刚开始学习Java,我正试图找出它为什么不起作用。我是初学者,所以请不要介绍复杂的代码或解决方案If statement 尝试使用if-else签入int返回方法,但它没有';行不通 public static int getIntFromUser(字符串提示){ 扫描仪输入=新扫描仪(系统输入); System.out.println(提示); 布尔循环=真; int input=in.nextInt(); while(循环){ 如果(输入=0 | |输入,if-statement,methods,int,return,If Statement,Methods,Int,Return,嗨,我刚开始学习Java,我正试图找出它为什么不起作用。我是初学者,所以请不要介绍复杂的代码或解决方案 我知道我必须返回一个整数,但即使我把它放在“if”语句中,它仍然会出错。我无法将该方法更改为void,因为我需要返回一个整数,以便在其他方法中使用。我想知道有没有解决办法?非常抱歉,谢谢。您可能希望用户继续输入整数,直到输入正确的整数为止。为此,每次用户输入一个新的整数时,您需要重新提示用户输入一个新的整数,该整数是将return语句移到循环之外的函数末尾。loop=false将中断循环,因此
我知道我必须返回一个整数,但即使我把它放在“if”语句中,它仍然会出错。我无法将该方法更改为void,因为我需要返回一个整数,以便在其他方法中使用。我想知道有没有解决办法?非常抱歉,谢谢。您可能希望用户继续输入整数,直到输入正确的整数为止。为此,每次用户输入一个新的整数时,您需要重新提示用户输入一个新的整数,该整数是将
return
语句移到循环之外的函数末尾。loop=false
将中断循环,因此它将返回用户输入的第一个正整数。非常感谢您的帮助!:)@肯:没问题。我希望我的回答清楚了,解决了你的问题。如果有,请单击旁边的绿色复选标记接受。非常感谢您的帮助!:)<代码>(输入==0 | |输入<0)可以由一个(输入)替换
public static int getIntFromUser(String prompt) {
Scanner in = new Scanner(System.in);
System.out.println(prompt);
boolean loop = true;
int input = in.nextInt();
while(loop){
if (input == 0 || input < 0) {
System.out.println("Please enter digits greater than 0!");
}
else {
System.out.println("You have entered: "+input);
loop = false;
return input;
}
}
}
public static void main(String[] args) {
getIntFromUser("Please enter digits greater than 0");
}
int input = in.nextInt();
while(loop) {
if (input == 0 || input < 0) {
System.out.println("Please enter digits greater than 0!");
input = in.nextInt();
}
else {
System.out.println("You have entered: "+input);
return input;
}
}
return input;
int input = in.nextInt();
while(loop) {
if (input == 0 || input < 0) {
System.out.println("Please enter digits greater than 0!");
input = in.nextInt();
}
else {
System.out.println("You have entered: "+input);
loop = false;
}
}
return input;