我一直忙于练习,我需要比较一个中奖彩票号码(已生成)和数据库表中现有的彩票号码。彩票比赛练习
我设法循环浏览数据库中的所有数字,然后找到与获胜的一组数字匹配,但我正在努力查明发现匹配的哪一组彩票号码。
这些数字分别放置在每个数据库列中。 这里我检索每一行中的值。
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