【问题标题】:How to check whether a number there in integer variable? [duplicate]如何检查整数变量中是否存在数字? [复制]
【发布时间】:2016-01-30 14:14:41
【问题描述】:

例如,我们可以在下面的数组中找到我们搜索的内容:

    int values [] = {3, 5, 7};
    for(int i = 0; i < values.length; i++)
    {
        if(values[i] == 3)
        {
            System.out.println("3 is in array.\n");
        }
    }

但是如果我们在整数值中搜索一个数字会发生什么?我们能在那个变量中找到我们搜索的内容吗?我为每个循环尝试了一些东西,但没有奏效。 Java有提供这个过程吗?

    int value = 151;

    for(int found: value)
    {
        if(found == 3)
        {
            System.out.println("3 is in array.\n");
        }
    }

【问题讨论】:

  • if (Integer.toString(value).contains("3")) ...
  • @IMurali :我建议您参加 Java 课程...:示例:coursera.org/learn/introjava
  • @Tom 不要那样做。那是极其丑陋的代码,没有一点通用性,而且效率低下。改用算术方法。这只有 5 行或类似的东西,而且代码更好。
  • @Paul 现在请猜猜为什么这是评论,而不是答案...
  • @Jayan 我不认为我需要一个方法课程:)

标签: java


【解决方案1】:

你可以简单地使用String.contains():

if (Integer.toString(value).contains("3")) { ... }

【讨论】:

  • 幸运的是,这看起来不像我的评论的副本...... ;P.
  • 对不起,我实际上是在打字 + 寻找链接 x_x
  • 我不太在意,因为我的评论并不严重,所以别担心;)。
  • 哈哈coolio,为什么不是这样?我觉得这很有效
  • 我的意思是我在这个答案下的评论。那并不严重。
【解决方案2】:

我知道这不是一种巧妙的方法,但它是一种方法。 涉及的步骤: 1)将其转换为字符串。 2) 使用 String 的内置 contains(CharSequence s) 方法在该字符串中查找特定字符

int value = 151;
//First Step:
String numberAsString = Integer.toString(value);
//Second Step:
if (numberAsString.contains('3')){
System.out.println("Found 3");
}

记住变量值不会丢失。您可以使用/重复使用它。

【讨论】:

  • @Tom 哦,对不起。我的错。是的,变量值不会丢失。为什么不直接使用它而不是不必要地将 String 更改回 Integer?我编辑了我的答案。谢谢指出
  • 很高兴看到您改进了答案:)。
猜你喜欢
  • 1970-01-01
  • 2016-08-22
  • 2019-06-17
  • 2011-05-20
  • 1970-01-01
  • 1970-01-01
  • 2015-02-25
  • 1970-01-01
  • 2011-03-30
相关资源
最近更新 更多