2014-11-24 3 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(); 
     } 
    } 
} 
관련 문제