2016-01-07 30 views
1
String [] V = {"a","e","i","o","u"}; 

    Scanner input = new Scanner(System.in); 
    String A; 
    System.out.println("Enter any letters"); 
    A=input.next(); 

    if(A.contains(V)) { 
     System.out.println("success"); 
    } 

底线。如果有在“V”串的字母是“A”我希望它继续以“成功”检查字符串是否包含阵列中的任何字母 - JAVA

+2

我认为你需要检查每一个元素单独使用循环。 – YoungHobbit

+1

如果您可以使用第三方依赖项,则有[containsAny](https://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/StringUtils.html# containsAny%28java.lang.CharSequence,%20char ...%29)方法来自Apache commons-lang的'StringUtils'类。但如果你不能,只需按照YoungHobbit所说的检查每个元素。 – jhamon

回答

0

尝试使用foreach循环是这样的:

 for (String string : V) { 

      if(A.contains(string)) { 
       System.out.println("success"); 
      } 
     } 

因为在方法contains(CharSequence)类型字符串不适用于参数(String [])。

0

它工作作出一些改变你的代码

String [] V = {"a","e","i","o","u"}; 
    boolean flag = false; 

    Scanner input = new Scanner(System.in); 
    String A; 
    System.out.println("Enter any letters"); 
    A=input.next(); 

    for(String temp:V) 
    { 
     if (A.contains(temp)) { 
      flag = true; 
      break; 
     } 
    } 

    if(flag) 
     System.out.println("Success"); 
    else 
     System.out.println("Not Success"); 
+0

当flag设置为true时,你可以从'for for'循环中断开 - 当这种情况发生时不需要继续检查 – mixmastered

+0

Ya我知道了...使用break语句... – Abhishek

相关问题