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。

編集: コメントによると、これは double 値と float 値に対してのみ機能します。整数値の場合、次のメソッドを使用できます。

Integer.signum(int i)

于 2013-11-04T10:49:38.263 に答える
7

Else-If( 3つの異なる状態(正、負、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 に答える