Java Coding Convention 관련 문서들

Coding Convention 문서

Sun에서 제시한Coding convention

기타

그림

2246773D5186152416

shuffle을 이용한 로또생성기

바로 아래 포스팅에서 간단한 로또생성기 코드를 만들어봤었죠. (http://blog.benelog.net/1642193).

같은 문제에 대한 dak99님의 풀이(http://dak99.egloos.com/3529054)를 보고 다시 다른 버전을 만들어봤어요.

shuffle을 이용해도 Collections의 메소드들을 불러서 쓰니 코드가 별로 안 복잡해 지는군요.

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class LottoMachine \{
    public static void main(String[] args) \{
        List<Integer> numberCards = new ArrayList<Integer>();
        for(int i=1;i<=45;i++) numberCards.add(i);
        Collections.shuffle(numberCards);
        List<Integer> picked = numberCards.subList(0,5);
        Collections.sort(picked);
        System.out.println(picked);
    }
}

n이 클수록 속도차이가 클겁니다.

로또생성기 java로 만들어보기

javaservice.net에서 보고 저도 한번 짜봤어요.

문제

  • 1부터 45까지의 숫자 중에 6개를 뽑는다.6개의 값이 다 달라야 한다.

  • java.util.Random를 이용해서 임의의 값을 구한다.

  • 출력시 작은 숫자부터 순서대로 출력

저의 풀이

간단하게 짠다면 일단 저는 아래와 같이 해보고 싶어요.

import java.util.Random;
import java.util.SortedSet;
import java.util.TreeSet;
public class LottoMachine1 {
    public static void main(String[] args) {
        SortedSet<Integer> pickedNumbers = new TreeSet<>();
        Random random = new Random();
        while(pickedNumbers.size()< 6) pickedNumbers.add(random.nextInt(45)+1);
        System.out.println(pickedNumbers);
    }
}