初学者求指导!java用基本的循环或者数组解决1-100循环取出第七个数并输出 取满50为止

题目大概是1-100取第七个数 7 14 21....98,
然后从99开始继续取第七个:5 ,12 19...
我能想到的方法是定义一个长度为7的数组,
然后把这100个数依次放进去取下标为6的数,累计到50跳出.
但是纠结了很久不会用程序实现,求人指点!
Ps:新手刚学到java基础的数组.

int[] array=new int[102];//需遍历的数组,初始为0,
int j=1;//遍历时计数用
int k=7;//取第几个数,这里为7
int count=0;//统计输出个数
for (int i = 1; i < array.length; i++) {

if(i==array.length-1){//超过100,置1,类似循环数组
i=1;
}

if(array[i]==0){//未遍历到的值,计数加1
if(j==k){//第k个数
array[i]=1;//置为非0值,这里为1
j=1;//计数归1
count++;
System.out.println(i);
}
else
j++;
}

if(count==50)

break;

}

int j=0;
//循环50次
for(int i=0;i<50;i++){
//小于100就叠加7
if((j+7)<=100){
j+=7;

        }else{
            //大于100,就减掉100,剩下的作为起始值进入下一次循环
            int num=j+7-100;
            j=num;
        }
        System.out.println(j);

    }

//直接加7模100即可

int count=0;

for(int i=0;i<50;i++)
{
count=(count+7)%100;

System.out.println(count);
}

遍历初始化为0的数组,遇0加1,加到7时输出数组下标并将数组此项置为非0值。

int[] array=new int[102];//需遍历的数组,初始为0,
    int j=1;//遍历时计数用
    int k=7;//取第几个数,这里为7
    int count=0;//统计输出个数
    for (int i = 1; i < array.length; i++) {
        if(j==k){//第k个数
            array[i]=1;//置为非0值,这里为1
            j=1;//计数归1
            count++;
            System.out.println(i);
        }

        if(array[i]==0){//未遍历到的值,计数加1
            j++;
        }

        if(i==array.length-1){//超过100,置1,类似循环数组
            i=1;
        }

        if(count==50)   
            break;

    }

提供一个比较麻烦的:
[code="java"]

public static void main(String[] args) {
List l = new ArrayList();

int k = 0, n = 0;
while (k < 50) {
    if (n < 7) {
    n++;
    continue;
    }
    if (n == 7 && k == 0) {
    l.add(n);
    k++;
    } else {
    n += 7;
    l.add(n);
    k++;
    }
}
}

[/code]

//需要写个类,设置常量list = 需要遍历的数组,size 是需要提取的总数。
private List get7OfList(List list, int size) {

    List<Integer> copyList = new ArrayList<Integer>();
    copyList.addAll(list);
    int j = 0;
    for (int i = 1; i < list.size(); i++) {

        if (i % 7 == 0 && result.size() < size) {
            result.add(list.get(i - 1));
            copyList.remove(i - 1 - j);
            ++j;
        } else if (result.size() > size) {
            break;
        } else {
            continue;
        }
    }
    list.removeAll(list);
    list.addAll(copyList.subList(copyList.size() - 2, copyList.size()));
    list.addAll(copyList.subList(0, copyList.size() - 3));
    if (result.size() < 50) {
        get7OfList(list, size);
    }
    return result;
}