2017-03-19 6 views
0

에 여러 개의 비 중첩 카운터 루프를 위해 나는스칼라

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; 
    } 
} 

는 내가 거기 스칼라 루프 같은 여러 카운터를 넣을 수있는 방법이 있지만까지 끝이 중첩되는 것을 알고 자바에서이 코드를 가지고 . 예를 들어 :

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 

과 동일하지만 비 중첩 카운터

답변

0

에 방법이 있는지 모르겠어요이 작업을 수행하는 방법을 모른다 스칼라 인라인에서 for 루프를 사용하지만 while 루프를 사용하여 조직을 조금 바꿀 수 있습니다.

var n = ... 
var k = ... 
val arrA : Array[Int] = ... 
val arrB : Array[Int] = ... 
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 
    isPermuting 
} 

편집 : 이것은 가장 깨끗한 방법은 아니지만 자바에서 오는 것은 이해하기 쉽습니다. 도움이 되었기를 바랍니다.

+0

이 코드는 실제로 아무 것도하지 않습니다. – pedrofurla