2016-04-05 13 views
0

私が持っている課題では、配列内で最大のギャップを見つけなければなりません。ラケットは配列内に2つのオブジェクトを取得します

これを行うには、5桁を取得し、すべての桁を渡して次の桁と比較してチェックします。

私はこのような何か作品 'の' は泉:

> (for/list ([i '(1 2 3)]) 
    (* i i)) 
'(1 4 9) 

を質問がない 'I' の位置が、 '(' I '+ 1')の位置を取得する方法です。

public void gettingSecondIndex(int a,int b,int c,int x,int y){ 
     int[] abc = {a,b,c,x,y}; 
     int index, secondIndex; 
     for(int i = 0 ; i < abc.length - 1 ; i++){ 
      index = abc[i]; // this is the index 
      secondIndex = abc[i+1]; // this is what I am looking how to do in Racket 
     } 
    } 
} 

答えて

3

リストラケットでを扱うときは、インデックスを忘れるしよう(彼らは配列ではない!):Javaでの方法は、このようなものになります。あなたが望むようにそれらを処理するために進み、今では連続したペアを持っていることを

(define (getting-second-index lst) 
    (for/list ([n1 lst] 
      [n2 (rest lst)]) 
    (list n1 n2))) 

:あなたはこのような何かで所望の効果を得ることができます

(getting-second-index '(1 2 3 4 5)) 
=> '((1 2) (2 3) (3 4) (4 5)) 
+0

'for'理解するとき、最短停止しますシーケンスがなくなり、 'drop-right'は不要で無駄です。 :-) –

+0

お返事ありがとう! ummm私はラケットには本当に新しいので、あなたが私が幸せになることを理解することができるように行をコミットと私を説明することができます:) – Tomer

+1

@ ChrisJester - 若い素敵なチップ、ありがとう! –

関連する問題