gpt4 book ai didi

java - scala 中具有多个非嵌套计数器的 For 循环

转载 作者:行者123 更新时间:2023-12-02 13:38:12 24 4
gpt4 key购买 nike

我在java中有这个代码片段

int[] arrA = ...;
int[] arrB = ...;
int n = ...;
boolean isPermuting = true;
for(int i = 0, j = arrB.length - 1; i < n; i++, j--) {
if(arrA[i] + arrB[j] < k) {
isPermuting = false;
break;
}
}

我知道有一种方法可以将多个计数器放入 scala 中的同一个 for 循环中,但最终会被嵌套。例如:

for(i <- 1 to 10 ; j <- 10 to 20) // in scala

相同
for(int i = 1; i <= 10 ; i ++){
for(int j = 10; j <= 20; j++){ // in java

但我不知道如何对非嵌套计数器执行此操作

最佳答案

我不知道是否有办法在 scala 内联中处理 for 循环,但您可以使用 while 循环并稍微更改组织。确保从 utils 导入 Breaks。

 import scala.util.control.Breaks._

var n = 4
var k = 3
val arrA : Array[Int] = Array(8, 2, 3, 4, 5)
val arrB : Array[Int] = Array(5, 4, 3, 2, 6)
var isPermuting: Boolean = true
var i: Int = 0
var j: Int = arrB.length - 1
breakable {
while (i < n) {
if (arrA(i) + arrB(j) < k) {
isPermuting = false
break
}

i += 1
j -= 1
}
}

print(isPermuting)

编辑:这可能不是最干净的方法,但来自 java 很容易理解。希望对您有帮助

关于java - scala 中具有多个非嵌套计数器的 For 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42882101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com