졸프진행중...
배열값을 텍스트파일 생성 후 저장시키는 작업이 필요했습니다.
그래서 saveFile 이라는 메소드를 만들어봤습니다.


public static void saveFile(String tmp[]) {
String s = System.getProperty("user.dir");
System.out.println(s);
StringBuffer FileName = new StringBuffer(s+"\\debug\\output.txt");   //저장위치 및 파일명
PrintWriter out;
try {
out = new PrintWriter(new FileWriter(FileName.toString(), false));
for(int i = 0; i < 20 ; i++){
out.println(tmp[i]);
}
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


String s = System.getProperty("user.dir");

이 부분은 현재 저장된 디렉토리를 불러오는 것이에요.
경로가 바뀌더라도 상관없겠지요.ㅎㅎ


out = new PrintWriter(new FileWriter(FileName.toString(), false));

뒤에 전 false라고 썼는데.. 원래 파일의 내용을 모두 지우고 새로 시작해야되기 때문이었어요.
텍스트파일의 내용은 유지하고 그 뒤에 저장시키려면 true로 바꿔주시면됩니다.

DB값을 1씩 증가시키기 JAVA 2009. 6. 21. 15:30
오라클은 시퀀스가 지원되느니 어쩌느니... 그래서 시퀀스 만들고 난리부르스를 치다가 결국 gg쳤어요.
그래서 매우 간단한 방법으로 작성했답니다.
진작 이렇게 했으면 좋았을껄...싶네요 ㅋㅋ


Statement stmt = conn.createStatement();
rs = stmt.executeQuery("select num from article");
while(rs.next()){
i = rs.getInt("num");
}
pstmt = conn.prepareStatement("insert into article values(?,?)");
pstmt.setInt(1, ++i);
pstmt.setString(2, testStmt);
pstmt.executeUpdate();


간단하지요...?
저장된 값을 select문으로 읽어와서 그것을 다시 입력할 때 ++시켜주면 됩니다.
저 간단한 몇줄가지고 며칠 고생했네요..ㄱ-

로또 번호 추첨하기 JAVA 2009. 1. 6. 21:58

일단 처음엔 로또범위만큼 숫자를 랜덤으로 뽑아야겠죠.
일단 랜덤한 숫자를 뽑는 메소드입니다.

void makeNumber()
{
   int a;
   for(int i = 0; i<6; i++)
   {
      a=(int)((Math.random()*46)+1);
//   a = m_my.nextInt(46) + 1;     // 위에거나 밑에거나 상관없습니다. 취향따라 하시길^^
      if(checkSame(i, a) == true){
         m_number[i] = a;
      }
      else{
         i--;
      }
   }
}

중간에 checkSame메소드는 
랜덤하게 뽑은 값중에 이미 나와있는 중복값을 확인해서 삭제하는 기능을 합니다.

boolean checkSame(int index, int value){
   for(int j=0; j<index; j++)
   {
       if(m_number[j]==value){
       return false;
       }
   }
   return true;
}

배열의 값을 하나하나씩 비교해주는 for문이구요.
가운데 if문은 같은값이 있을 경우 false를 리턴하고 그 중복된 값은 m_number배열에 입력되지 않습니다.

헷갈리거나 이해가 가지 않으시는 분들은 i,j,a값을 표로 만들어서 써가면서 따라해보세요.
그럼 이해가 좀더 쉬우실거에요~

이 두 메소드가 가장 중요한 부분이구요.
나머지 변수선언이나 메인안에는 어떤게 들어가야할지는 각자 고민해보아요.
전체를 다 베껴쓰면 실력이 늘지 않아요.^^