如何使用布尔语句和 return
How to use boolean statements and return
我正在尝试创建一段代码;
return 如果给定一个整数 n,则为真,它是 100 或 200 中的 10。
import java.util.Scanner;
class nearHundred{
public boolean nearHundred(int n){
Scanner input = new Scanner(System.in);
n = input.nextInt();
if(10>=Math.abs(100-n) || 10>=Math.abs(200-n)){
return true;
}
return false;
}
}
我哪里做错了?
方法应该如下所示:
public void mainMethod() {
Scanner input=new Scanner(System.in);
int val=input.nextInt();
boolean nearHundredBoolean=nearHundred(val);
//do something with nearHundredBoolean....
//Same logic, but passes the input to the method nearHundred
public boolean nearHundred(int n) {
if(Math.abs(100-n)<=10 || Math.abs(200-n)<=10)
return true;
else return false;
}
您应该将扫描器输入的值传递到此方法的参数要求中,而不是在您当前的方法中不使用参数 n。如果有问题,可能是因为'input.nextInt()'方法覆盖了参数n的值。
从评论来看,您的主要方法似乎放错了地方,无论它在哪里,我希望它在一个项目中只存在一次。从该 main() 方法调用您的 class,例如 -
new nearHundred().nearHundred(100); // a call from main method
现在来看您的代码,这里有几处需要更正。您的方法不应该关心 Scanner,它的工作是接收输入并检查逻辑。
例如;
public class Utils {
public static boolean isNearToHundered(int num) {
return Math.abs(num-100)<=10 || Math.abs(num-200)<=10;
}
}
将解析输入的责任交给 main 方法,这就是它应该如何工作。
既然我制作了方法static
,你可以像这样调用
Utils.isNearToHundred(105); // TRUE
我正在尝试创建一段代码;
return 如果给定一个整数 n,则为真,它是 100 或 200 中的 10。
import java.util.Scanner;
class nearHundred{
public boolean nearHundred(int n){
Scanner input = new Scanner(System.in);
n = input.nextInt();
if(10>=Math.abs(100-n) || 10>=Math.abs(200-n)){
return true;
}
return false;
}
}
我哪里做错了?
方法应该如下所示:
public void mainMethod() {
Scanner input=new Scanner(System.in);
int val=input.nextInt();
boolean nearHundredBoolean=nearHundred(val);
//do something with nearHundredBoolean....
//Same logic, but passes the input to the method nearHundred
public boolean nearHundred(int n) {
if(Math.abs(100-n)<=10 || Math.abs(200-n)<=10)
return true;
else return false;
}
您应该将扫描器输入的值传递到此方法的参数要求中,而不是在您当前的方法中不使用参数 n。如果有问题,可能是因为'input.nextInt()'方法覆盖了参数n的值。
从评论来看,您的主要方法似乎放错了地方,无论它在哪里,我希望它在一个项目中只存在一次。从该 main() 方法调用您的 class,例如 -
new nearHundred().nearHundred(100); // a call from main method
现在来看您的代码,这里有几处需要更正。您的方法不应该关心 Scanner,它的工作是接收输入并检查逻辑。
例如;
public class Utils {
public static boolean isNearToHundered(int num) {
return Math.abs(num-100)<=10 || Math.abs(num-200)<=10;
}
}
将解析输入的责任交给 main 方法,这就是它应该如何工作。
既然我制作了方法static
,你可以像这样调用
Utils.isNearToHundred(105); // TRUE