Java 如何使用布尔语句和返回

Java 如何使用布尔语句和返回,java,java.util.scanner,Java,Java.util.scanner,我试图创建一段代码,它将: 如果给定int n,则返回true,该int 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>=Mat

我试图创建一段代码,它将:

如果给定int n,则返回true,该int 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; 
       }
public void main方法(){
扫描仪输入=新扫描仪(System.in);
int val=input.nextInt();
布尔值近百布尔值=近百(val);
//用近百颗蘑菇做点什么。。。。
//相同的逻辑,但将输入传递给方法
公共布尔值近百(整数n){

如果(Math.abs(100-n)从注释来看,您的main方法似乎放错了位置,无论它在哪里,我希望它在项目中只存在一次。例如,从main()方法调用您的类-

new nearHundred().nearHundred(100); // a call from main method
现在,在您的代码中,有几件事需要纠正。您的方法不应该关心扫描仪,它的工作是获取输入并检查逻辑

比如,

public class Utils {
  public static boolean isNearToHundered(int num) {
      return Math.abs(num-100)<=10 || Math.abs(num-200)<=10;
  }
}

“出错”是什么意思?程序在做什么/不在做什么?我看它是对的。可能br你在用nextint覆盖变量n,把它搞砸了。为什么要把n传递给方法?它只是在方法的第二条语句上碰了一下。MQ87我想你是对的,现在我有另一个问题;我甚至无法运行代码,因为某种原因,当我按下ru键时n按钮另一段来自不同类的代码将运行/Nelios我应该把什么作为上面的方法参数,而不是int n“…nearhund(int n){…”
Utils.isNearToHundred(105); // TRUE