2013-09-30 23 views
-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; 

    } 
+2

你读过了'String'类的Javadoc?那里有一个“包含”方法。 –

回答

1

使用contains而不是equals

从的Javadoc:

包含

公共布尔包含(CharSequence中)

返回:

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

参数:

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

抛出:

的NullPointerException - 如果s 为null

从:

1.5

+1

谢谢,不知道为什么我认为这使复杂。 – Lsooties

1

u可以使用含有

for(int i = 0; i < inputArray.length - 1; i++) { 
    if(inputArray[i].contains(n)) { 
    rez = true; 
    }  
} 
0
  • 可以使用包含检查一个给定的字符串包含 “九”。

  • 在for循环inputArray.length - 1只意味着如果数组大小为3,那么 它会为我= 0,1但不是2.

  • 你可以,如果你第一场比赛后,打破运行只想检查给定的字符串中是否有任何 包含“9”。

  • 而且尽量选择方法变量等,在你给定上下文 有意义它会帮助你和你的同胞 程序员理解的代码更好的描述性名称。

    公共静态布尔doesFive(字符串[] 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; 
    
    } 
    
相关问题