JAVA如何判断含有5的数字

JAVA如何判断含有5的数字

作者:Rhett Bai发布时间:2026-02-26阅读时长:0 分钟阅读次数:8

用户关注问题

Q
怎样判断一个数字中是否包含数字5?

我有一个整数,想知道它的数字中是否包含数字5,有没有简便的方法可以实现?

A

通过将数字转为字符串进行判断

可以将数字转换成字符串,然后使用字符串的contains方法判断是否包含字符'5',这是一种简单直观的方法。示例代码如下:

int num = 153;
String strNum = String.valueOf(num);
if(strNum.contains("5")) {
    System.out.println("数字中包含5");
} else {
    System.out.println("数字中不包含5");
}
Q
有没有不转字符串的方法判断数字中含有5?

我想在Java中判断数字是否含有数字5,但不想通过字符串转化来实现,有什么其他方法吗?

A

使用取模和除法循环判断

可以通过循环取模(%)和除法(/)操作,将数字的每一位依次取出并判断是否为5。代码示例:

int num = 1523;
boolean hasFive = false;
int temp = Math.abs(num); // 处理负数
while(temp > 0) {
    if(temp % 10 == 5) {
        hasFive = true;
        break;
    }
    temp /= 10;
}
if(hasFive) {
    System.out.println("数字包含5");
} else {
    System.out.println("数字不包含5");
}
Q
如何判断一组数字中哪些含有数字5?

如果我有一批数字,想筛选出所有含有数字5的数字,应该如何实现?

A

遍历数组并对每个数字进行判断

可以遍历数字集合,对每个数字使用之前提到的方法判定是否包含数字5,符合条件的数字可以存储或打印出来。示例代码:

int[] numbers = {123, 455, 789, 56, 99};
for(int num : numbers) {
    int temp = Math.abs(num);
    boolean containsFive = false;
    while(temp > 0) {
        if(temp % 10 == 5) {
            containsFive = true;
            break;
        }
        temp /= 10;
    }
    if(containsFive) {
        System.out.println(num + " 含有数字5");
    }
}