簡體   English   中英

Java - 檢查輸入是否為正整數,負整數,自然數等。

[英]Java - Check if input is a positive integer, negative integer, natural number and so on.

在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()

返回指定int值的signum函數。 (如果指定的值為負,則返回值為-1;如果指定的值為零,則返回0;如果指定的值為正,則返回1。)

你可以使用if(number >= 0) 你使用int number = input.nextInt();的事實int number = input.nextInt(); 確保它必須是一個整數。

使用如下代碼。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM