Java 尝试做滑动窗口

Java 尝试做滑动窗口,java,algorithm,Java,Algorithm,我试着用滑动窗口的方式打印。我做不好。因此,当滑动窗口大小为1时,它应该打印每个元素。当滑动窗口为2时,它应该打印两个连续的元素 0 1 2 01 12 0123 请检查此代码: for(int w = 1; w <= a.length; w++) { System.out.println("Window size : " + w); for(int i = 0; i < a.length; i++) { for(int j = i; j

我试着用滑动窗口的方式打印。我做不好。因此,当滑动窗口大小为1时,它应该打印每个元素。当滑动窗口为2时,它应该打印两个连续的元素

0
1
2

01
12

0123
请检查此代码:

for(int w = 1; w <= a.length; w++) {    
    System.out.println("Window size : " + w);
    for(int i = 0; i < a.length; i++) {
        for(int j = i; j < w; j++) {
            System.out.println(j);
        }
        System.out.println();
    }
}   
for(intw=1;w
for(intw=1;w
  • 您尚未计算特定窗口大小将显示的窗口数

  • 当您打印该窗口的值时,您已经给出了j小于w的条件。它循环窗口大小的次数或w次。因此,对于窗口大小1,它将只打印窗口大小1的1个元素。对于窗口大小2,它将打印窗口大小2的2个元素。但还有其他元素

  • 模式代码:

    public class WindowPattern {
    
        public static void main(String[] args) {
            /* array of elements */
            int[] a = {0,1,2,3};
            /* window size w */
            for(int w = 1; w <= a.length; w++) { 
                System.out.println("Window size : " + w);
                /* No of elements shown of window size (n) = a.length-w+1 */
                for(int i = 0; i < a.length-w+1; i++) {
                    for(int j = i; j < w+i; j++) {
                        System.out.print(a[j]);
                    }
                    System.out.println();
                }
            }   
        }
    
    }
    
    公共类窗口模式{
    公共静态void main(字符串[]args){
    /*元素数组*/
    int[]a={0,1,2,3};
    /*窗口大小w*/
    
    对于(int w=1;w),我已经更新了答案,并给出了他做错的地方。
    public class WindowPattern {
    
        public static void main(String[] args) {
            /* array of elements */
            int[] a = {0,1,2,3};
            /* window size w */
            for(int w = 1; w <= a.length; w++) { 
                System.out.println("Window size : " + w);
                /* No of elements shown of window size (n) = a.length-w+1 */
                for(int i = 0; i < a.length-w+1; i++) {
                    for(int j = i; j < w+i; j++) {
                        System.out.print(a[j]);
                    }
                    System.out.println();
                }
            }   
        }
    
    }