2014-11-24 98 views
2
private HashMap<String, String> answers; 

public String generateResponse(HashSet<String> word) 
{ 
    for(String word : words) 
    String answer = answers.get(word); 
    if(answer != null){ 
     return answer; 
    }else { 
     return standardAnswers(); 
    } 
} 

我已經導入了HashMap。我希望HashSet中的每個單詞都能在HashMap中得到答案。但在for-each循環說:變量聲明不允許在這裏變量聲明不允許在這裏

我該如何解決這個問題?

回答

2

一個聲明不是一個聲明,所以它不允許在那個地方。

如果是的話,answer反正會超出if語句的範圍。

使用塊範圍內聲明和使用answer

private HashMap<String, String> answers; 

public String generateResponse(HashSet<String> word) 
{ 
    for(String word : words) 
    { 
     String answer = answers.get(word); 
     if(answer != null){ 
      return answer; 
     } else { 
      return standardAnswers(); 
     } 
    } 
}