Java 在数组中搜索递增整数序列

Java 在数组中搜索递增整数序列,java,arrays,random,iteration,Java,Arrays,Random,Iteration,任务如下: 创建一个程序,通过随机生成的值介于25和225之间的整数的200元素数组进行查找。程序应查找包含非递减值的n连续索引-例如: 28、57、88、153、201被认为是成功的 28、57、32、153、201被视为故障 输出应该类似于: An increasing consecutive run of 5 elements found at: Index 41 contains 28 Index 42 contains 57 Index 43 contains 88 Index 44

任务如下:

创建一个程序,通过随机生成的值介于
25
225
之间的整数的
200
元素数组进行查找。程序应查找包含非递减值的
n
连续索引-例如:

28、57、88、153、201被认为是成功的

28、57、32、153、201被视为故障

输出应该类似于:

An increasing consecutive run of 5 elements found at:

Index 41 contains 28
Index 42 contains 57
Index 43 contains 88
Index 44 contains 153
Index 45 contains 201
有很多方法可以完成这项任务我在下面提供了一个逐步解决方案。

解决方案

首先,应用给定的信息(下限、上限、数组大小)

n
设置为任意值。我将使用5进行演示

    int n = 5;
创建一个
计数器
变量以记录找到的连续整数数。进一步,我们将添加逻辑,以便在每次数字序列不起作用时重置计数器

    int counter = 0;
开始迭代。为
循环创建一个
,用指定边界之间的“200”元素填充数组

    for(int i = 0; i < set.length; i++){
        set[i] = (int)(Math.random() * (max - min + 1) + min);
第一个
if
语句:每次序列符合模式时,它都会将“counter”增加1,但当比较失败时,它会重置回0

   if(i > 0){   
        if(set[i] >= set[i-1]){counter++;}
        else{counter = 0;}  
    }// End if
现在创建一个while语句,当
计数器的值等于
n
的值时激活该语句。这将打印语句
在:
中找到的5个元素的连续递增运行,然后导致for循环

    while(counter == n){

           System.out.println("An increasing consecutive run of " + n + " elements found at:");
现在设置这个循环,只需打印成功的
n

    for(int j = i - n; j < i; j++){
        System.out.println("Index " + j + " contains " + set[j]);
    } //End for
只要关闭while和for循环,程序就完成了

        } //End while

    } //End for

您的问题只包含需求-它并没有显示您自己为解决此问题所做的任何努力。请添加您对此问题的尝试-因为此网站不是免费的“我们为您(家庭)工作”服务。除此之外:请转到第页了解如何/问什么。Thanks@azro向下滚动一点,你会发现我自己已经回答了这个问题,只是想分享我的知识。如果这里不需要,很抱歉,我还是一个新手。@Alex如果您已经有了工作代码,那么还有另一个堆栈交换站点供您使用。然而,如果你想把它贴在那里,请先熟悉一下所有这些。在这里发布工作代码并要求任何改进都可能被视为“过于宽泛”@PatrickParker我并不是在要求改进。我刚刚注意到,在发布之前的一个主题时,有一个选项可以回答你自己的问题,我想“嘿,我知道怎么做,不妨分享一下——这可能会帮助其他人”。
    for(int j = i - n; j < i; j++){
        System.out.println("Index " + j + " contains " + set[j]);
    } //End for
       return;
        } //End while

    } //End for