2016-01-07 29 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

相關問題