在数字中找到零

时间:2016-08-26 06:03:00

标签: java numbers

下面是在

的数字中找到0的代码

示例:1701有0,1711没有零。如果数字是一个数字,它将打印“不可能”。

代码的问题是,如果数字是666,那么'solve(num)'执行3次,而它应该只执行一次,如果数字是505,那么'solve num'会被执行一次,而它不应该执行,因为505中的数字为零。

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!DOCTYPE html>
<html ng-app="app">

  <head>
    <script data-require="angular.js@1.5.5" data-semver="1.5.5" src="https://code.angularjs.org/1.5.5/angular.min.js"></script>
    <script data-require="jquery@2.1.1" data-semver="2.1.1" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body ng-controller="demoController">
    <div ng-repeat="f in testFocus">
      <button class="btn btn-sm chat-option chat-option-add" ng-click="buttonClicked(f, $index)" style="padding: 0px;border-radius: 50%;">button</button>
      <input ng-if="f.isShow" type="text" class="input-{{$index}}" style="color:black;" value="text" />
    </div>
  </body>

</html>

4 个答案:

答案 0 :(得分:2)

如果您正在寻找一种有效的方法来检查字符串是否包含某个数字,请使用String.indexOf()(或者String.contains();但第一个提供更好的效果。)

绝对没有必要在这么低的水平上工作!与此相反的: 良好的编程是关于使用有用的抽象。您绝对希望最小化代码中的循环数,ifs,....仅仅因为5行代码...可能包含比1行代码更多的错误;特别是如果那5行是那个轮子的“手写再发明”,你可以完美地称之为一行;这保证有效。

答案 1 :(得分:2)

只需将int转换为String,然后像这样使用indexOf()

int num = 1701;
String s = String.valueOf(num);
if (s.indexOf('0') > 0){
    your code
}

参考文献:

Java - Convert integer to string

String.indexOf()

答案 2 :(得分:1)

暂停

  if (.....) {
      solve (num);
      break;
  }

更简单的方法是

  private void match(int num) {

    String str = String.valueOf(num);
    if(str.length () <=1){
      System.out.println("Not possible");
      return;
    }
    if(str.indexOf ('0') > 0){
      solve(num);
    }

  } 

答案 3 :(得分:1)

String#contains(...)使用String#indexOf(...),因此开发更好,更直观......

public static void main(String[] args) {
    for (int i = 1; i < 15; i++) {
        check(i);
    }
}
private static void check(int i) {
    System.out.println(String.valueOf(i).contains("0"));
}