2017-03-16 2 views
-5

Java에서 변경 가능한 메소드에 문제가 발생했습니다. 데이터 구조에 min 및 max을 ​​변수로 해석 할 수 없다는 오류가 표시됩니다.Java 최소 최대 방법

@Override 
public Optional <T> min(){ 
    if (Set.isEmpty()) 
     return Optional.empty(); 

    else(
      T min = Collections.min(Set); 
      return Optional.of(min); 
} 

@Override 
public Optional <T> max() { 
    if(Set.isEmpty()) 
     return Optional.empty(); 
    else (
      T max = Collections.max(Set); 
      return Optional.of(max()); 
} 
+4

이 코드는 컴파일되지 않습니다. 'else' 옆에 열린 괄호가있는 이유는 무엇입니까? – rmlan

답변

0

는 가장 중요한 것은, 당신은 예를 들어, else 부품 중괄호가 필요합니다

else { 
     T min = Collections.min(Set); 
     return Optional.of(min); 
    } 

이 컴파일해야한다.

난 당신이 너무 귀하의 if 부분 주위에 괄호를 사용하는 것이 좋습니다 :

는 사소한 문제 몇 가지가 있습니다.

나는 Set을 인스턴스 변수로 사용합니다. 스택 오버플로에 대해 질문 할 사람과 같은 Java 코드를 다른 사람이 읽을 수있게하려면 대문자로 시작하는 변수 이름을 사용하지 마십시오. 특히 잘 알려진 인터페이스 (java.util.Set)의 이름을 변수 이름으로 사용하지 마십시오. 혼동을 야기 할 수 있습니다.

max 메서드의 경우 을 만들 때 max 뒤에 둥근 괄호가 너무 많이 있습니다.