簡體   English   中英

如何檢查一個數字是否包含某個數字?

[英]How to check if a number contains a certain digit?

我需要編寫一個名為hasEight()的布爾方法,它接受一個int作為輸入,如果數字包含數字 8(例如hasEight() ,則返回 true。

我不想使用“字符串轉換方法”。

我試過下面的代碼,但只檢查最后一位數字。

import java.util.Scanner;

public class Verificare {

    public static boolean hasEight(int numarVerificat) {
        int rest = numarVerificat % 10;
        return rest == 8;
    } 

    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);
        System.out.print("Introduceti numarul pentru verificare: ");
        int numar = keyboard.nextInt();
        Verificare.hasEight(numar);
        System.out.println("Afirmatia este: " + Verificare.hasEight(numar));
    
        keyboard.close();
    }
}

如果您不想使用字符串轉換方法,那么我認為可以使用此方法。

public bool hasEight(int number)
{
      while(number > 0)
      {
          if(number % 10 == 8)
              return true;

          number=number/10;
      }
      return false; 
} 

使用以下功能。

boolean hasEight(int num) {
    int rem;
    while (num > 0) {
        rem = num % 10;
        if (rem == 8)
            return true;
        num = num / 10;
    }
    return false;
}

在循環的每次迭代中,檢索數字的最后一位(除以 10 時的余數)。 如果是 8,則返回true 否則,數字除以 10(整數除法以便刪除最后一位數字)並開始另一個迭代。 當所有數字都被檢查(8 或不是)時,數字變為 0 並且循環停止。

    public static boolean hasEight(int numarVerificat)
    {
        while(numarVerificat > 0)
          {
              if(numarVerificat % 10 == 8)
                  break;
              numarVerificat=numarVerificat/10;
          }
          return (numarVerificat>0); 
    } 

暫無
暫無

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

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