예약 된 단어 부울을 해시 세트로 변경하는 데 도움이 필요합니다.

StackOverflow https://stackoverflow.com/questions/1836880

  •  11-09-2019
  •  | 
  •  

문제

이 코드는 예약 된 단어 부울 형식으로 제공됩니다.

private boolean isIdent(String t) {
        if (equals(t, "final") || equals(t, "int") || equals(t, "while")
            || equals(t, "if") || equals(t, "else") || equals(t, "print")) return false;
        if (t!=null && t.length() > 0 && Character.isLetter(t.charAt(0))) return true;
        else return false;
    }

이것을 해시 세트 형식으로 바꿔야하지만 어떻게 접근하는지 잘 모르겠습니다. 모든 도움이 가장 감사하겠습니다.

도움이 되었습니까?

해결책

예약 된 단어를 세트에 넣는 것을 의미합니까?

private Set<String> keywords;

private void initKeywords() {
    keywords = new HashSet<String>();
    keywords.add("final");
    keywords.add("int");
    keywords.add("while");
    keywords.add("if");
    keywords.add("else");
    keywords.add("print");     
}

private boolean isIdent(String t) {
    if (keywords.contains(t)) {
        return false;
    }
    else if (t != null && t.length() > 0 && Character.isLetter(t.charAt(0))) {
        return true;
    }
    else {
        return false;
    }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top