2016-12-13 39 views
-2

{}Return {this}

+1

使用'retVal的文本= [I]''不字符串retVal的=文本[i];' –

+0

那麼你現在正試圖*重新聲明變量,而不是僅僅分配一個新的值。 –

回答

1

你試試這個嗎?

public String findWord(String string, String word){ 
    String[] text = string.split(" *"); 
    for(int i=0; i<text.length; i++){ 
     if(text[i].equals(word)){ 
      return text[i]; 
     } 
    } 
    return "Not found"; 
} 

這對我有用。

+0

請注意:您的代碼與問題中的內容具有不同的行爲,它會返回第一個匹配項而不是最後一個匹配項。 – hotkey

+0

是的,我的代碼是不同的,但我認爲迭代所有的字符串數組是無用的,因爲找到這個單詞 – Mattasse

0

這不適合你嗎?

public String findWord(String string, String word){ 
     if (string.contains(word)) { 
      return word; 
     } 
     return "Not found"; 
    } 
0

在許多語言中重新聲明是可能的,但在JAVA中不可能。 JAVA編譯器知道retVal已經存在於同一個作用域內並被聲明爲String類型。因此它不會重新聲明它,也不會使用相同的數據類型或不同的數據類型。您可以爲此目的設置一個單獨的變量,或者簡單地覆蓋retVal中的數據。所以,下面的代碼必須滿足您的需求。

public String findWord(String string, String word){ 
    String[] text = string.split(" *"); 
    String retVal = "Not found"; 
    for(int i=0; i<text.length; i++){ 
     if(text[i].equals(word)){ 
      retVal = text[i]; 
     } 
    } 
    return retVal; 
} 

現在對於string.split語法

public String[] split(String regex, 
     int limit) 

所以你的分隔符應該是一個有效的表達式。所以,你可以分開使用空間,在你句中的這樣

public String findWord(String string, String word){ 
String[] text = string.split(" "); 
String retVal = "Not found"; 
for(int i=0; i<text.length; i++){ 
    if(text[i].equals(word)){ 
     retVal = text[i]; 
    } 
} 
return retVal; 
} 

void main() 
{ 
    System.out.println(findWord("Hello how are you","are")); 
} 

但是,如果你想使用*,您可以使用此代碼。

public String findWord(String string, String word){ 
String[] text = string.split("\\*"); 
String retVal = "Not found"; 
for(int i=0; i<text.length; i++){ 
    if(text[i].equals(word)){ 
     retVal = text[i]; 
    } 
} 
return retVal; 
    } 
    void main() 
{ 
    System.out.println(findWord("Hello*how*are*you","are")); 
} 

在這兩種情況下,輸出將是─是

你可以通過正則表達式的有關表述下列文件https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#sum

+0

即使字符串包含單詞,這將返回「未找到」。 :( – mihaijulien

+0

@mihaijulien我編輯了我的答案,以適合您的查詢:) –

相關問題