2012-11-09 2 views
1

나는 주어진 세트에서 고유 한 멤버로 팀을 구성하려고합니다. 이것은 내가 지금까지 가지고있는 것이다. 나는이 프로그램을 실행할 때주어진리스트에서 뚜렷한 선택하기

import java.util.*; 
import java.lang.*; 

class Main 
{ 
    public static void main (String[] args) throws java.lang.Exception 
    { 
     /* Putting all team-mates in HashMap */ 

     HashMap<String, Integer> map = new HashMap<String, Integer>(); 
     map.put("a", 1); 
     map.put("b", 2); 
     map.put("c", 3); 
     map.put("d", 4); 

     /* Printing out the random name and the Unique number with it*/ 

     List<Integer> valuesList = new ArrayList<Integer>(map.values()); 
     List<String> keyList = new ArrayList<String>(map.keySet()); 
     System.out.println("The Team members are :"); 
     for (int i = 0; i < 3; i++) 
     { 
      int randomIndex = new Random().nextInt(valuesList.size()); 
      Integer randomValue = valuesList.get(randomIndex); 
      String randomKey = keyList.get(randomIndex); 
      System.out.println(randomValue+" "+randomKey); 
     } 
    } 
} 

, 나는 내 목록에서 중복을 얻을 내가 Collections.shuffle (valuesList)를 사용합니까?

감사합니다.

+1

'import java.lang. *;'not required ...,'java.lang.Exception' ??? – Mordechai

답변

0

, 이것은 내가 어떻게 할 것입니다.

줄이 너무 적습니다.

+0

작동합니다 .. a, b, c, d는 실제 이름입니다. – user1813084

+0

당신을 위해 일했다면 받아 들인 대답으로 표시해주십시오. – amphibient

1

같은 번호를 임의로 두 번 얻을 수 있으므로 Collections.shuffle(...)해야합니다.

import java.util.*; 
import java.lang.*; 

class Main 
{ 
    public static void main (String[] args) throws java.lang.Exception 
    { 
     /* Putting all team-mates in a List*/ 

     List<String> list = new ArrayList<String>(); 
     list.add("a"); 
     list.add("b"); 
     list.add("c"); 
     list.add("d"); 

     /* Printing out the random name */ 

     System.out.println("The Team members are :"); 
     for(int i = 0; i < 3; i++) 
     { 
      int randomIndex = new Random().nextInt(list.size()); 
      //Integer randomValue = valuesList.get(randomIndex); 
      String randomValue = list.remove(randomIndex); 
      //String randomKey = keyList.get(randomIndex); 
      System.out.println(randomValue); 
     } 
    } 
} 

을 한 번 그들이 다시 나타나지 않도록 할 것입니다 선택 목록에서 선택한 요소를 제거 : A, B, C는 D 당신이 후 모든 경우

+0

예, 컬렉션을 임의로 뒤집어 결과 순서대로 인쇄하십시오. 또는 모음의 순서를 바꾸는 것이 바람직하지 않은 경우 키 목록을 섞어서 사용하십시오. – 9000

+0

Collections.shuffle (ValuesList)는 valuesList.remove (randomIndex)와 작동하는 것으로 보입니다 – user1813084