我正在开发一个项目,我正在搜索w.r.t发件人姓名。我在测试时对set.next()的答案感到困惑。同时真假回报。无论如何,我正在使用IntelliJ IDEA的想法。我正在测试,即使我错了,它应该返回true或false,而不是两者都返回。
class MyStaticMplCanvas(MyMplCanvas):
"""Simple canvas with a sine plot."""
def compute_initial_figure(self):
l1 = lines.Line2D([0, 1], [0, 1], transform=self.fig.transFigure, figure=self.fig)
l2 = lines.Line2D([0, 1], [1, 0], transform=self.fig.transFigure, figure=self.fig)
self.fig.lines.extend([l1, l2])
下面是Out put屏幕结果,首先说的是真实但尚未发表声明
public void getDataAllbySendername(String Sendername) {
try {
System.out.println("----------------------------------------------------------------------");
Statement statement = mConnection.createStatement();
ResultSet set = statement.executeQuery("SELECT * from Tableit3 where sender LIKE '" + Sendername + "';");
// System.out.println("yes man yes it is");
System.out.println(set.next());
if (set.next()) {
System.out.println("true man true");
System.out.println(set.next() + " 3rd time");
Setextension(set);
} else
System.out.println("nothing at all");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
//Below is the code having the testing part from above given
System.out.println(set.next());
if (set.next()) {
System.out.println("true man true");
System.out.println(set.next() + " 3rd time");
Setextension(set);
} else
System.out.println("nothing at all");
评论第一个输出语句后
true
nothing at all
输出屏幕上的文字
//System.out.println(set.next());
if (set.next()) {
System.out.println("true man true");
System.out.println(set.next() + " 3rd time");
Setextension(set);
} else
System.out.println("nothing at all");
请有人可以澄清我发生了什么事,在哪里冒犯错误--__--
* Setextension(set)是一种方法,我创建了一个方法来防止set.get方法的代码重复。
答案 0 :(得分:0)
我在更多测试后发现的答案是set.next第一次是真的,后来因为set.next()
是一种迭代器类型而错误。只有在每次调用后的第一个set.next()
增量之后没有更多数据时,它才会给出前1个为真但对其他1为假。