有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java/Kotlin在for循环中为步骤+1和if条件之前的步骤获取值

大家好,我遇到了一个大问题,请帮我解决。 我目前正在创建一个程序,当用户现在打开应用程序时,检查订单状态(待定或已确认)。问题是,我是否需要在订单时间之后以及在此时间范围内检查时间(当前时间)之间检查我更改价格的次数,并比较价格是否匹配。 那么,我如何在i之前检查一个步骤呢?比如i是3,我需要在其中包含2,并在每个循环中比较i和i+1的值,而不会使索引失效

代码:


 for (i in 0 until arrTriple!!.size){
   if (arrTriple[i].third >= ordertime){ //arrTriple[i].third is time when when i change price
      
     //Need this value also without getting indexoutofbond  = arrTriple[i+1].third 
     //So i can use my logic here.

   }
 }

共 (2) 个答案

  1. # 1 楼答案

    我想我理解你的要求。你能从i=to 1开始,用i-1代替i+1吗?比如:

    for (i in 1 until arrTriple!!.size) {
       if (arryTriple[i-1].third >= overtime {
          arrTriple[i].third
       }
    }
    

    您将有一个边缘情况,其中arrTriple.size == 1仍然需要处理

    编辑:

    否则,只需添加一个if检查

    for (i in 0 until arrTriple!!.size){
      if (arrTriple[i].third >= ordertime && (i+1) < arrTriple.size){ 
    
      }
    }
    
  2. # 2 楼答案

    你不一定需要until。你会这样写吗

    for(element in arrTriple!!){
        if(element.third >= ordertime){ 
            // Your logic here
        }
    }
    

    这就是我的方法