簡體   English   中英

Java根據用戶輸入驗證數字范圍

[英]Java validating a range of numbers from user input

我的驗證一直遇到問題,這讓我感到壓力,我用不同的循環以各種方式完成了此任務,而如果我能順利執行IF語句,那么我目前擁有的就是這一點。用於數字,但是由於我的程序只能接受1到5之間的數字,因此我想采取額外的步驟來驗證數字然后返回它。 我嘗試在循環內聲明int選項,但不執行return語句。

    public int makeOption(){
    int option;
    System.out.println("Choose from the following options: ");
    System.out.println("(1)Create entry || (2)Remove entry || (3)List entry || (4)List All || (5)Exit ");

    while(!reader.hasNextInt()){
            System.out.println("Choose a valid option.");
            reader.next();
    }
    if(reader.nextInt()<1 || reader.nextInt()>5){
        System.out.println("Choose a valid number from options.");
        reader.next();
    }
    option = reader.nextInt();
    System.out.println("You choosed: " + option);
    return option;
}

交換if語句以獲取switch語句:

int input = reader.nextInt();

switch(input)
{
    case 1: // Do something 
          break;
    // blah blah blah more cases.

    default: System.out.println("Please enter a correct value.");
}

關於代碼的注釋

當您調用reader.nextInt() ,您是在告訴流期望另一個int 您沒有看到相同的值。 在使用之前,應將其存儲在變量中。

暫無
暫無

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

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