Есть ли в 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.");
}
}
Если вам действительно нужно избегать операторов, используйте Math.signum ()
Возвращает функцию signum аргумента; ноль, если аргумент есть ноль, 1,0, если аргумент больше нуля, -1,0, если аргумент меньше нуля.
РЕДАКТИРОВАТЬ: Согласно комментариям, это работает только для двойных и плавающих значений. Для целочисленных значений вы можете использовать метод:
Как насчет того, чтобы использовать следующее:
int number = input.nextInt();
if (number < 0) {
// negative
} else {
// it's a positive
}
(Вы должны как оператор 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"); }
}
}
Для целых чисел вы можете использовать Integer.signum ()
Возвращает функцию signum указанного значения int. (Возвратное значение равно -1, если указанное значение является отрицательным; 0, если указанное значение равно нулю; и 1, если указанное значение положительное.)
Используйте приведенный ниже код.
if(number >=0 ) {
System.out.println("Number is natural and positive.");
}