java - 给定一个字符串,如果字符串中第一个 "x"实例后紧跟着另一个 "x",则返回 true

标签 java

Given a string, return true if the first instance of "x" in the string is immediately followed by another "x". For example: doubleX("xxxxx") → true.

下面是我的代码,适用于除 "axxbb" 之外的每个字符串。该字符串返回 false。

boolean doubleX(String str) {
    for (int i = 0; i < str.length() - 1; i++) {
        if (str.charAt(i) == 'x' && str.charAt(i + 1) == 'x')
            return true;

        break;
    }
    return false;
}

最佳答案

您有两个问题:

  1. 在循环的第一次迭代后中断。

  2. 即使删除该中断后,如果第一个 x 后面没有 x,但另一个 x 后面有 x,您也会返回 true(例如 - axaxxa 将错误地返回 true)。

更好的实现:

boolean doubleX(String str) {
    for(int i=0;i<str.length()-1;i++){
        if(str.charAt(i)=='x')
            if (str.charAt(i+1)=='x') {
                return true;
            } else {
                return false;
            }
    }
    return false;  
}

关于java - 给定一个字符串,如果字符串中第一个 "x"实例后紧跟着另一个 "x",则返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33329133/

相关文章:

java - 有没有办法以声明的顺序从java类中获取私有(private)字段名称

java - JFrame 中默认的 JPanel 较小

java - 用数字打印倒三角形 - Java

Java:BigInteger,如何通过OutputStream编写它

java - map 查找性能

java - 垃圾收集器、字符串和 Finalize 困惑

java - 找出两个排序列表是否包含相同元素 Java 的有效方法。

java - Java 中的类之间进行通信?

java - 如何在ehcache.xml中配置QueryCache

java - 打印由星号组成的倒三角形