Java - проверьте, является ли ввод положительным целым числом, отрицательным целым числом, натуральным числом и т.д.

Есть ли встроенный метод в Java, где вы можете найти тип ввода пользователя, является ли он положительным или отрицательным, и так далее? Код ниже не работает. Я пытаюсь найти способ ввода любого встроенного метода, который может сделать это в выражении if.

import java.util.Scanner;

public class Compare {

    public static void main(String[] args) { 

        Scanner input = new Scanner(System.in);

        System.out.print("Enter a number: ");
        int number = input.nextInt();

        if(number == int) 
            System.out.println("Number is natural and positive.");
    }
}

Ответ 1

Если вам действительно нужно избегать операторов, используйте Math.signum()

Возвращает функцию signum аргумента; ноль, если аргумент ноль, 1,0, если аргумент больше нуля, -1.0, если аргумент меньше нуля.

ОБНОВЛЕНИЕ: Согласно комментариям, это работает только для двойных и плавающих значений. Для целочисленных значений вы можете использовать метод:

Integer.signum(int i)

Ответ 2

Как использовать следующие функции:

int number = input.nextInt();
if (number < 0) {
    // negative
} else {
   // it a positive
}

Ответ 3

(Вы должны как оператор Else-If проверить для трех разных состояний (положительный, отрицательный, 0)

Вот простой пример (исключая возможность нецелых значений)

  import java.util.Scanner;

  public class Compare {

   public static void main(String[] args) { 

    Scanner input = new Scanner(System.in);

    System.out.print("Enter a number: ");
    int number = input.nextInt();

    if( number == 0)
    { System.out.println("Number is equal to zero"); }
    else if (number > 0)
    { System.out.println("Number is positive"); }
    else 
    { System.out.println("Number is negative"); }


  }
 }

Ответ 4

Для целых чисел вы можете использовать Integer.signum()

Возвращает функцию signum указанного значения int. (Возвращаемое значение равно -1, если указанное значение отрицательное; 0, если указанное значение равно нулю; и 1, если указанное значение положительное.)

Ответ 5

Вы можете использовать if(number >= 0). Тот факт, что вы используете int number = input.nextInt();, гарантирует, что он должен быть целым.

Ответ 6

Используйте код ниже.

if(number >=0 ) {
            System.out.println("Number is natural and positive.");
}