2017-02-12 2 views
1

firstElementtoSend.getNextElement()을 할당하면 오류가 발생합니다 : "예기치 않은 유형의 변수가 발견되었습니다." toSend.getNextElement()은 가치가 아니라 객체이기 때문에 이해가 가지 않습니다.예기치 않은 유형의 필요한 변수 발견 값

public class Element{ 
    private int _number; 
    private Element _next; 
    public Element(int number) { 
     _number = number; 
     _next = null; 
    } 

    public int getNumber() {return _number;} 

    public Element getNextElement() {return _next;} 

    private Element longerMatch(Element eOne,Element eTwo,Element firstElement,int longest){ 
     if((eOne == null)||(eTwo == null)){ 
      Element toSend = new Element(longest); 
      toSend.getNextElement() = firstElement; 
      return toSend; 
     } 
     else if(eOne.getNumber() > eTwo.getNumber()){ 
      return longerMatch(eOne,eTwo.getNextElement(),null,0); 
     } 
     else if(eOne.getNumber() < eTwo.getNumber()){ 
      return longerMatch(eOne.getNextElement(),eTwo,null,0); 
     } 
     if(longest == 0){ 
      return longerMatch(eOne.getNextElement(),eTwo.getNextElement(),eOne,1); 
     } 
     return longerMatch(eOne.getNextElement(),eTwo.getNextElement(),firstElement,longest+1); 
    } 
} 
+1

다음과 같이 변경해야합니다 : firstElement = toSend.getNextElement(); 나는 당신이 메서드에 값을 할당 할 수 있다고 생각하지 않는다. – zombie

답변

2

이와 같은 방법으로 반환되는 값에는 할당 할 수 없습니다. 당신이 _next를 조작하려는 경우, 당신은 그것을위한 세터 방법은해야

public void setNextElement(Element next) { 
    _next = next; 
} 
0

당신은 변수에 값을 할당 할 수 있습니다. Java Tutorial 및 Java Language Specification (JLS)을 참조하십시오.