[英]How to check if a number contains more than 1 of the same digit? (Java)
[英]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.