常に偶数のカウントを持つリストが1つあるとします。次に、以下の条件でさまざまなグループインデックスを使用してリストを分離します。
1) First element (1st element) with one index (EX: 1)
2) Next two elements with same index (Ex: 2nd, 3rd element with index 2,
4th and 5th element with index 3)
3) Last element(6th element) with index 4
同じことを実現するためにネストされたforループを試してみましたが、期待どおりの出力が得られませんでした。
どんな助けでも大歓迎です。サンプル入力:
[2,3,53,52,33,12,44,66]
サンプル出力:
2 - 1
3 - 2
53 - 2
52 - 3
33 - 3
12 - 4
44 - 4
66 - 5
2つの追加変数zとcountを使用してこれを実装しました。count%2が0の場合にのみzをインクリメントし、最後にsize-1が3番目の条件のi変数と等しいかどうかを確認する必要があります。また、最初の条件では、iカウンター値が0の場合、最初のインデックスにarraylist値を、iにz変数値を出力しています。
手動で追加した入力リスト用にシミュレートした以下のコードを参照してください。テストするにはリンクを使用してください:http://rextester.com/ESYF23501
import javafx.collections.ArrayChangeListener;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> a= new ArrayList<Integer>();
a.add(2);
a.add(3);
a.add(53);
a.add(52);
a.add(33);
a.add(12);
a.add(44);
a.add(66);
int i = 0;
int z = 2;
//Count to group the middle number by checking its value with respect to mod 2
int count = 0;
for(i = 0; i < a.size(); i++)
{
if(i == 0 )
{
z = i+1;
System.out.println(""+a.get(i)+" " + "" +z+"" );
}
if(i > 0 && i != (a.size() -1))
{
//Increament z if the count is even so that we print the group for two times
if(count%2 == 0)
{
z++;
}
System.out.println(""+a.get(i)+"" +" "+ ""+z+"" );
count ++;
}
if(i == a.size() -1 )
{
z++;
System.out.println(""+a.get(i)+"" +" "+ ""+z+"" );
}
}
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加