我遇到问题,需要一些建议:我需要编写一个名为hasEight()的布尔方法,该方法以int作为输入,如果数字包含数字8(例如18、808),则返回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;
}

10-06 14:03