2014-11-17 1 views
-2
//Listener for the preorder button 
jbtPreOrder.addActionListener(new ActionListener() { 
    @Override 
    public void actionPerformed(ActionEvent e){ 
     key = Integer.parseInt(jtfKey.getText()); 
     if (!tree.isEmpty()){ 
      JOptionPane.showMessageDialog(null, "Enter something in the tree"); 
     } 
     else { 
      JOptionPane.showMessageDialog(null, key + " "); 
      preorder(key.left); 
      preorder(key.right); 
     } 
    } 
}); 

선주문에서 변수가 전역 변수 인 경우에도 int를 역 참조 할 수 없다고 말합니다.여기서 참조 할 수없는 int는 여기에서 의미하지 않습니다.

+3

* 정확한 * 오류 메시지와 오류가 발생한 행을 제공하십시오. –

+0

'preorder'의 내용을 표시하십시오. – guness

+0

@ChrisMartin InitialBSTShow.java:88 : 오류 : int를 참조 해제 할 수 없습니다. \t \t \t preorder (key.left); \t \t \t^ InitialBSTShow.java:89 오류 : INT는 \t \t \t 선주문 (key.right)를 역 참조 할 수 없다; \t \t \t^ 2 개의 오류 –

답변

2

키는 int이며 int는 프리미티브입니다. 프리미티브 (primitive)의 메소드는 호출 할 수없고 객체 만 호출 할 수 있습니다. 텍스트를 얻을 호출 따라서 문자가 아닌 숫자를 검색하기 때문에 키가 정말 자기 여기 key가 원시적 데이터 형식이라고 설명 ....

+0

@HarshJoshi 댓글에 게시 된 코드는 실제로 읽을 수 없습니다. 코드와 세부 사항을 추가하려면 질문을 편집하십시오. – csmckelvey

0
 preorder(key.left); 
     preorder(key.right); 

정확히 오류 문자열이어야한다 (INT). 기본 데이터 형식 (여기 int) key을 참조 변수로 사용하고 있습니다.

따라서 어떤 객체도 보유하고 있지 않으므로 key을 사용하여 역 참조 할 수 없습니다.