我正在寻找一个Java程序,其结果如下。我卡在中间

我正在寻找一个Java程序,其结果如下。我卡在中间,java,arrays,logic,Java,Arrays,Logic,[每个输出的长度基本上基于第二个数组的长度]3 这就是我所尝试的: input: statement output: sta tat ate tem eme men ent 这是一个适合您的公正工作计划: 8 3 actiactiatiaiaa 由于我也是新手,无法提出澄清性问题,因此我假设所需的输出是以三个字符的增量进行,因为第一个数组中的第二个数组的长度不同。要获取数组的这些值,必须更改以下语句:for int j=i;j

[每个输出的长度基本上基于第二个数组的长度]3

这就是我所尝试的:

input: statement
output: sta tat ate tem eme men ent

这是一个适合您的公正工作计划:

8
3
actiactiatiaiaa

由于我也是新手,无法提出澄清性问题,因此我假设所需的输出是以三个字符的增量进行,因为第一个数组中的第二个数组的长度不同。要获取数组的这些值,必须更改以下语句:for int j=i;j
package com.example;

import java.util.Scanner;

public class Example {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("input: ");
        String sourceString = scanner.next();
        combinate(sourceString);
    }

    public static void combinate(String sourceString) {
        String[] arr = sourceString.split("");
        System.out.print("output: ");
        for (int i = 0; i < sourceString.length() - 2; i++) {
            System.out.print(arr[i] + arr[i + 1] + arr[i + 2] + " ");
        }
    }

}

// Result

// input: statement
// output: sta tat ate tem eme men ent

您的for循环不正确。应该是:

for (int j = i; j < array1.length-array2.length; j++) 
        {
            System.out.print(array1[j]);
        }
System.out.print(" ");
说明:

外部for循环从0到array1.length-array2.length,这是每个可能组合的起始索引。在您的示例中,它将从0循环到5

内部for循环从外部for循环的当前索引开始,并递增array2.length倍。我们打印出每个增量的字符,给出组合

每次组合完成后,内部循环都会打印出一个空格来分隔组合

如果打印出索引,它将如下所示:

act cti tia ian anc nce 

第二个案例的预期输出是什么?请更改标题以反映实际问题。它现在没用了。然后解释你的代码有什么问题。基本上,我尝试使用上面的方法将子字符串与主字符串匹配。。。i、 e数组。很抱歉,我没有完成里面的几个循环…只是复制了我迄今为止所做的工作。如果我不知道问题是什么,我无法帮助您解决所有问题…我已经解决了主要问题。。但我把另一部分卡住了。我必须在没有找到匹配项的情况下打印这不是一个子字符串:在这里放置我的else的位置:code{char[]array1={'a','c','t','i','a','n','c','e'};string Str2=cti;对于int i=0;ifor(int i = 0; i <= array1.length - array2.length; i++) { for(int j = i; j < i + array2.length; j++) { System.out.print(array1[j]); } System.out.print(" "); }
act cti tia ian anc nce 
i = 0, j = 0, j = 1, j = 2
i = 1, j = 1, j = 2, j = 3
i = 2, j = 2, j = 3, j = 4
i = 3, j = 3, j = 4, j = 5
i = 4, j = 4, j = 5, j = 6
i = 5, j = 5, j = 6, j = 7