-1

我需要编写一个公共方法,该方法接受一个字符串数组并检查数组中是否有包含子字符串或字符串“nine”的字符串。我写了一个方法来检查“九”,但我对子字符串感到困惑。

public static boolean doesFive ( String [] input ) {

    boolean rez = false;
    String n = "nine";

    for( int i = 0; i < inputArray.length - 1; i++ ) {
      if( inputArray[i].equals(n) ) {
       rez = true;
      }      
    }   

    return rez;

    }
4

3 回答 3

1

使用contains而不是equals.

来自 Javadoc:

包含

公共布尔包含(CharSequence s)

回报:

当且仅当此字符串包含指定的 char 值序列时才为 true。

参数:

s - 要搜索的序列返回:如果此字符串包含 s,则为 true,否则为 false

抛出:

NullPointerException - 如果 s 为空

自从:

1.5

于 2013-09-30T02:04:26.590 回答
1

你可以使用包含

for( int i = 0; i < inputArray.length - 1; i++ ) {
  if( inputArray[i].contains(n) ) {
   rez = true;
  }      
}   
于 2013-09-30T02:06:19.300 回答
0
  • 您可以使用 contains 检查给定字符串是否包含“九”。

  • 在你的 for 循环中 inputArray.length - 1 表示如果数组大小为 3,那么它将运行 i = 0,1 但不会运行 2。

  • 如果您只想检查任何给定字符串是否包含“九”,则可以在第一次匹配后中断。

  • 并尝试为在给定上下文中有意义的方法变量等选择描述性名称,这将帮助您和您的编码人员更好地理解代码。

    公共静态布尔dosFive(字符串[] inputArray){

    boolean rez = false;
    String n = "nine";
    
    for( int i = 0; i < inputArray.length; i++ ) {
      if( inputArray[i].contains(n) ) {
       rez = true;
       break;
      }      
    }   
    
    return rez;
    
    }
    
于 2013-09-30T04:29:05.477 回答