检查子串的字符串数组列表

时间:2013-09-30 02:02:50

标签: java arrays methods string-comparison

我需要编写一个公共方法,它接受一个字符串数组并检查数组中是否有包含子字符串或字符串“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;

    }

3 个答案:

答案 0 :(得分:1)

使用contains代替equals

来自Javadoc:

  

包含

     

public boolean contains(CharSequence s)

     

<强>返回:

     

如果和,则为真   仅当此字符串包含指定的char值序列时。

     

参数:

     

s - 要搜索的序列返回:如果是,则返回true   string包含s,否则为false

     

投掷:

     

NullPointerException - 如果是s   为空

     

<强>时间:

     

1.5

答案 1 :(得分:1)

你可以使用contains

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

答案 2 :(得分:0)

  • 您可以使用contains来检查给定的字符串是否包含“nine”。

  • 你的for循环中的
  • inputArray.length - 1表示数组大小是3 它将运行i = 0,1但不适用于2.

  • 如果你只是想检查是否有任何一个,你可以在第一场比赛后休息 给定的字符串包含“九”。

  • 并尝试为方法变量等选择描述性名称 在你的特定背景下有意义,它将帮助你和你的同伴 编码员更好地理解代码。

    public static boolean doesFive(String [] 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;
    
    }