31

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.");
    }
}
4

6 回答 6

44

如果您确实必须避免使用运算符,请使用Math.signum()

返回参数的符号函数;如果参数为零,则为零,如果参数大于零,则为 1.0,如果参数小于零,则为 -1.0。

编辑:根据评论,这仅适用于双精度和浮点值。对于整数值,您可以使用以下方法:

整数.signum(int i)

于 2013-11-04T10:49:38.263 回答
32

如何使用以下内容:

int number = input.nextInt();
if (number < 0) {
    // negative
} else {
   // it's a positive
}
于 2013-11-04T10:48:28.383 回答
7

(你应该作为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"); }


  }
 }
于 2013-11-04T12:39:12.123 回答
3

对于整数,您可以使用Integer.signum()

返回指定 int 值的符号函数。(如果指定值为负,则返回值为 -1;如果指定值为 0,则返回 0;如果指定值为正,则返回 1。)

于 2017-11-01T11:39:48.513 回答
0

使用如下代码。

if(number >=0 ) {
            System.out.println("Number is natural and positive.");
}
于 2013-11-04T10:48:50.633 回答
-1

你可以使用if(number >= 0). 您使用的事实int number = input.nextInt();确保它必须是整数。

于 2013-11-04T10:48:31.257 回答