我一直忙於練習,我需要比較一箇中獎彩票號碼(已生成)和數據庫表中現有的彩票號碼。彩票比賽練習
我設法循環瀏覽數據庫中的所有數字,然後找到與獲勝的一組數字匹配,但我正在努力查明發現匹配的哪一組彩票號碼。
這些數字分別放置在每個數據庫列中。 這裏我檢索每一行中的值。
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]);
}
}
}
}
如何檢索找到匹配的行?
親切的問候
查詢中獎號碼的數據庫 – ControlAltDel 2012-04-03 20:55:25
不禁要在這裏引用Linus Torvalds「如果你需要超過3級縮進,無論如何你都會被搞砸,並且應該修復你的程序。」 。好吧,據我所知,你在代碼中做了很多繁重的工作,你可以創建一個JOIN查詢來檢查它嗎? – 2012-04-03 20:56:29
我不明白爲什麼你的算法需要如此複雜。一旦你獲得了數字,爲什麼你不能迭代所有的候選人並使用List containsAll方法?這意味着將lottoDrawString並將其轉換爲列表,這非常簡單。 –
2012-04-03 21:07:09