2013-03-04 2 views
0

안녕하세요 모든 I가 나에게 내 ArrayList를자바 ArrayList를 곱

에서 내 ArrayList의에 임의의 숫자를 제거하기 위해 노력하고

The operator * is undefined for the argument type(s) double, ArrayList<solution> 

내용의 오류를 줄 코드

solution first = mylist.remove((int)(Math.random() * mylist)); 

의 다음 행

도움이 될 것입니다.

+0

'mylist'에 대한 선언문을 포함하십시오. – amphibient

+0

@foampile 오류 메시지에서'myList'는'ArrayList '으로 선언되었습니다 –

답변

4

목록에서 임의의 요소를 제거하는 중입니다. 무작위 색인으로 모든 요소를 ​​포함하려면 목록 크기가 필요합니다.

숫자에 ArrayList을 곱하면 의미가 없습니다. 코드에서 목록을 직접 지정하여 목록의 크기를 가져올 수는 없습니다. 목록에있는 size() 메소드를 호출하십시오. 그러면 곱할 수있는 int이 반환됩니다.

+0

예 Thank You !!! 나는 그 운영자를 어떻게 든 놓쳤다! 친절한 도움에 감사드립니다! – user1816464

0

당신은

final Random random = new Random(); 

mylist.remove(random.nextInt(myList.size())); 

당신이 Random을 만들 수 있는지 확인하고 반복적으로 같은 번호를 만들 수 있습니다 별도로 보관 목록 크기의 범위 내에서 임의의 번호를 찾을 필요가 (그것은 단지 의사입니다) .

또한 nextInt 메서드는 상한을 제외하므로 mylist.size()은 잘못된 인덱스를 반환하지 않습니다.