데이터베이스 테이블의 기존 추첨 번호와 생성 된 추첨 번호를 비교해야하는 운동으로 바빴습니다.복권 매치 운동
나는 데이터베이스의 모든 숫자를 반복하여 성공한 숫자 집합과 일치하는 항목을 찾지 만 일치 항목이 발견 된 복권 번호 집합을 정확히 찾아내는 데 어려움을 겪고 있습니다.
숫자는 각 데이터베이스 열에 개별적으로 배치되었습니다. 여기에서 각 행의 값을 검색합니다.
ResultSet set = state.executeQuery("SELECT * FROM numberLotto");
while(set.next())
{
String[]row = new String[7];
row[0] = set.getString(1);
row[1] = set.getString(2);
row[2] = set.getString(3);
row[3] = set.getString(4);
row[4] = set.getString(5);
row[5] = set.getString(6);
row[6] = set.getString(7);
entries.add(row);
}
String[][]listOfNumbers = entries.toArray(new String[entries.size()][7]);
그때 listOfNumbers을 반복하고 winningNumber의 값을 갖는 모든 값을 비교합니다.
Object[]winningNumber = lottoDrawString.toArray();
for (int i=0; i < listOfNumbers.length; i++)
{
for (int j=0; j < listOfNumbers[i].length; j++)
{
for(int k = 0; k < winningNumber.length; k++)
{
System.out.println(listOfNumbers[i][j]);
if(listOfNumbers[i][j].equals(winningNumber[k]))
{
System.out.println("There is a match " + listOfNumbers[i][j] + " and " + winningNumber[k]);
}
}
}
}
어떻게 일치 항목을 찾았습니까?
종류
승리 번호가있는 행에 대해 db를 쿼리하십시오. – ControlAltDel
리누스 토발즈 (Linus Torvalds)의 말을 인용 해주십시오. "3 단계 이상의 들여 쓰기가 필요하다면 어쨌든 망쳐 버리고 프로그램을 수정해야합니다." . 좋아, 내가 뭘 이해하고, 당신은 코드에서 많은 힘든 작업을하고있다. 이것을 확인하기 위해 JOIN 쿼리를 생성 할 수 있는가? –
왜 알고리즘이 복잡해야하는지 이해가 안됩니다. 일단 당신이 승리 한 번호를 가지고 있다면, 왜 모든 후보를 반복하고 List containsAll 메소드를 사용할 수 없습니까? 이것은 lottoDrawString을 가져와 List으로 변환하는 것을 의미합니다. 이것은 매우 간단합니다. –