안녕하세요~ 초보 개발자 입니다~~

염치없지만 고수님들의 도움이 너무너무 필요해서 질문 드리려고요~~~

package lotto;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class lottoActivity extends Activity {
 private int a,b,c,d,e,f = 0;
 private TextView Lfirst[] = new TextView[6];
 private Button btn = null;
 private Random rand = new Random();
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        for(int i = 0; i < 6; i++)
        {
         Lfirst[i] = (TextView)findViewById(R.id.first0+i);
        }
        btn = (Button)findViewById(R.id.click);
        btn.setOnClickListener(click);
    }
    //객체 올리기
    OnClickListener click = new OnClickListener(){
  public void onClick(View v) {
   if(v.getId()==R.id.click){
    do{
    //랜덤함수로 로또 숫자 출력. 0부터 시작하기 때문에 +1을 해줌

     a = (int)(rand.nextInt(46))+1;
     b = (int)(Math.random()*46)+1;
     c = (int)(Math.random()*46)+1;
     d = (int)(Math.random()*46)+1;
     e = (int)(Math.random()*46)+1;
     f = (int)(Math.random()*46)+1;
    }while((a==b)||(a==c)||(a==d)||(a==e)||(a==f)||(b==c)||(b==d)||(b==e)||(b==f)||(c==d)||(c==e)|(c==f)||(d==e)||(d==f)||(e==f));

    //어레이리스트로 정렬
    ArrayList ar = new ArrayList();
    ar.add(a);
    ar.add(b);
    ar.add(c);
    ar.add(d);
    ar.add(e);
    ar.add(f);
    //오름차순 정렬
    Collections.sort(ar);
    //뷰텍스트에 표시
    for(int i = 0; i < 6; i++)
    {
     Lfirst[i].setText(""+ar.get(i));
    }
   }
  }
    };
}

 

위의 내용은 로또 숫자 6개를 출력하는 자바 소스 전체입니다.

중요한 부분은 랜덤함수로 로또 숫자 출력를 출력하는 부분인데요~ 문제는 효율적이지가 않은 것 같네요~반복 코딩도 많고요~

do~while 문을 쓰지 않고 for문을 사용해서 만들고 싶은데 잘 안되네요~

private Random rand = new Random();
 private int[] lottoRand= new int[6];

 

 

for(int i=0; i<6; i++){

     lottoRand[i] = (int)(rand.nextInt(46))+1;

    }

이런식으로 만들려고 하는데 중복체크랑 숫자를 오름차순으로 정렬하는 부분이 안 풀리네요~ 고수님들의 도움이 절실합니다~ 꾸벅~

레이아웃은 xml로 빠르게 했어요~~xml코딩한 부분은 굳이 필요없을 것 같아서 올리지 않았어요ㅎㅎㅎ

혹시 xml도 필요하신 분들이 있다면 메일로 보내드릴게요~