这里不允许变量声明

时间:2014-11-24 10:13:01

标签: variables foreach hashmap declaration hashset

 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中获取它&lt;&gt;答案。但是在for-each循环中说:这里不允许变量声明

我该如何解决这个问题?

1 个答案:

答案 0 :(得分: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();
        }
    }
 }