我一直忙于练习,我需要将中奖彩票号码(生成的)与数据库表格中现有的彩票号码进行比较。
我设法遍历数据库中的所有数字,然后找到与获胜数字匹配的匹配,但我正在努力查明找到匹配的彩票号码集。
这些数字分别放在每个数据库列中。
在这里,我检索每行中的值。
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并将所有值与winsNumber的值进行比较。
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]);
}
}
}
}
如何检索找到匹配项的行?
亲切的问候
答案 0 :(得分:2)
为什么不做呢
SELECT * FROM numberLotto WHERE FirstNumber = n1 AND SecondNumber = n2 AND ...
就此而言,为什么不将乐透号码作为七位数字符串存储在数据库中呢?
答案 1 :(得分:0)
一个想法可能是将行号添加为表字段,检索它,而不是创建和检查数字,而不是使用对象,就像Loterry说的那样。
类彩票
{ int line,value;
}
您检查了值字段,如果它符合您的检查,则返回行。希望它有所帮助:)
答案 2 :(得分:0)
您无需进行太多“编程”即可完成搜索。写一个查询来为你做:
String query = "SELECT * FROM numberLotto WHERE number = " + winningNumber
以上假设您的彩票号码存储在标有"number"
的字段中。您还可以使用AND
或OR
子句搜索多个匹配项。