2013-03-28 2 views
1

좋아요, 저는 Java에서 꽤 나쁩니다 (정직하게는 프로그래밍이 싫지만 네트워킹이 훨씬 낫습니다). 어쨌든, 이것이 대학을위한 것이기 때문에 나는 도움을 요청할 수는 있지만 학문적 부정 행위에 대해 끝내지 않으면 실제로 많은 코드를 공유 할 수 없습니다.프리미티브 유형 double에 Double (Double) 세트를 호출 할 수 없습니다.

내가 그것에 이름의 무리와 함께하는 JList, 누군가가 목록에서 뭔가를 선택할 때

final Double[] filmcost = { 5.00, 5.50, 7.00, 6.00, 5.00 }; 

는 내가하고 싶은 것은 그 이름의 값에 대한 배열을 가지고,이 값을 할당 (텍스트 상자를 다른 배열의 문자열로 설정하지만 잘 작동합니다).

그래서 그러나

filmList.addListSelectionListener(new ListSelectionListener() { 
      public void valueChanged(ListSelectionEvent evt) { 
                filmCost.setDouble(filmcost[filmList.getSelectedIndex()]); 
      } 
     }); 

내 변수

protected double filmCost; 

여기 년대 ListSelectionListener에

있어, "원시적 형 double 더블 (더블) 설정 호출 할 수 없습니다"는 불평입니다. 솔루션은 정말 간단하지만 지금은 한 시간 이상 붙어 있습니다.

답변

5

double은 메서드가없는 그냥 기본 값이며, 그냥 지정하면됩니다. 당신이 필요로하는 무엇

filmCost = filmcost[filmList.getSelectedIndex()]; 
2

이처럼 작성하는 것입니다 : 그들은 당신이 전화하는 객체없는 (filmCost 원시적 두 배이며 원시적 인 어떤 방법을 호출 할 수 없습니다

filmList.addListSelectionListener(new ListSelectionListener() { 
     public void valueChanged(ListSelectionEvent evt) { 
      filmCost = filmcost[filmList.getSelectedIndex()]; 
     } 
}); 

때문에 set, get 또는 모든 방법). 따라서 =을 사용하여 값을 할당하십시오.

또한 조언이 있으면 변수 이름이 filmCostfilmcost으로 변경됩니다. 그 이유는 매우 혼란 스럽기 때문입니다 (동일하게 보입니다, 처음에는 혼란 스럽 습니다만).

+0

고마워, 너무 바보 같았다. 그리고 네, 아마 변수를 더 잘 지정할 수 있습니다. 나는 한때 그것들을 임의의 야채 이름이라고 부르는 데 사용했다. – p3tch

+0

@ p3tch 나는 학문적 부정 행위를하지 않고서도 실제로 많은 코드를 공유 할 수 없다는 것에 깊은 감명을 받았다. – Abubakkar

관련 문제