如何在JAVA中从for循环的最后一次迭代中获取字符串?

时间:2017-10-09 11:49:53

标签: java loops

如何从此循环的最后一次迭代中获取字符串?

    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;从最后一次迭代结果,并能够用它做一些事情。任何提示或解决方案如何达到它?

4 个答案:

答案 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)

在循环之前初始化Stringboolean,然后在每个循环中覆盖它,最后的结果将保留在其中。或者只需用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;打印最后的结果;无论是头还是尾巴