如何从此循环的最后一次迭代中获取字符串?
public void Flip()
{
for (int i = 1; i <= numberOfFlips; i++ )
{
System.out.println("Flip " + i + ": " + headOrTail);
i++;
System.out.println("Flip " + i + ": " + headOrTail2);
}
}
numberOfFlips = 2的输出是:
翻转1:头
翻转2:尾巴
等等。
我的目的是获得&#34; headOrTail&#34;从最后一次迭代结果,并能够用它做一些事情。任何提示或解决方案如何达到它?
答案 0 :(得分:1)
请问是否是拉斯循环。
public void Flip()
{
for (int i = 1; i <= numberOfFlips; i++ )
{
System.out.println("Flip " + i + ": " + headOrTail);
i++;
System.out.println("Flip " + i + ": " + headOrTail2);
if(i==numberOfFlips){
<do what you want here>
}
}
}
答案 1 :(得分:1)
您当前的代码已经能够获得最后一次翻转的结果。由于您在循环范围之外声明了变量Dim sql As String = "INSERT INTO user(firstname, middlename, lastname) VALUES(?fname, ?lname, ?mname)"
cmd = New MySqlCommand(sql, conn)
cmd.Parameters.AddWithValue("?fname", TextBox1.Text)
cmd.Parameters.AddWithValue("?lname", TextBox2.Text)
cmd.Parameters.AddWithValue("?mname", TextBox3.Text)
cmd.Parameters.AddWithValue("?course", TextBox4.Text)
,因此您只需更新每个翻转,然后就可以在循环后打印它。
headOrTail
注意:由于您未更新for (int i = 1; i <= numberOfFlips; i++ )
{
headOrTail = newFlip(); //update your new flip
System.out.println("Flip " + i + ": " + headOrTail);
}
System.out.println("My last flip: " + headOrTail );
,因此您当前的代码将始终打印相同的翻转结果。
如何正确创建newFlip()方法以自己的方式使用它?
取决于“翻转”的数据类型。如果使用整数来表示翻转(例如,0表示头部,1表示尾部),请创建一个方法以返回0-1的随机数。
headOrTail
如果所有内容都包含在一个类中,您可以这样做:
//One of the possibilities..
public static int newFlip(){
Random rnd = new Random();
return rnd.nextInt(2); //you can use Math.random() as well
}
答案 2 :(得分:0)
在循环之前初始化String
或boolean
,然后在每个循环中覆盖它,最后的结果将保留在其中。或者只需用if
语句保存它,检查它是否是某人建议的最后一个循环。
答案 3 :(得分:0)
这是你在找什么?
public void Flip()
{
String lastInteraction = null;
for (int i = 1; i <= numberOfFlips; i++ )
{
System.out.println("Flip " + i + ": " + (lastInteraction = ((i % 2) == 0 ? "Head" : "Tail"));
if(lastInteraction.equals("Head")) {
System.out.println("Last flip was head");
} else {
System.out.println("Last flip was tail");
}
}
}
这将存储&amp;打印最后的结果;无论是头还是尾巴