Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 一个长度的连续子序列_Java_Regex_Algorithm - Fatal编程技术网

Java 一个长度的连续子序列

Java 一个长度的连续子序列,java,regex,algorithm,Java,Regex,Algorithm,我正在解决一个问题,但我不明白连续子序列是如何工作的。比如说, 公共类子序列{ 公共静态void main(字符串[]args){ 字符串s=“ccata CCGT”; 字符串ss=s.replaceAll(“\\s+”,“”); int n=4;//长度的子序列 对于(int i=0;i它确保子字符串仅包含字母(无空格)您不明白循环的具体内容是什么?您了解什么?您是否尝试过调试它?如果给定的序列是ccataccgt,则可以形成连续(不间断)循环长度为4的子序列只需从序列中提取4个连续的字母。

我正在解决一个问题,但我不明白连续子序列是如何工作的。比如说,

公共类子序列{
公共静态void main(字符串[]args){
字符串s=“ccata CCGT”;
字符串ss=s.replaceAll(“\\s+”,“”);
int n=4;//长度的子序列

对于(int i=0;i它确保子字符串仅包含字母(无空格)

您不明白循环的具体内容是什么?您了解什么?您是否尝试过调试它?如果给定的序列是
ccataccgt
,则可以形成连续(不间断)循环长度为4的子序列只需从序列中提取4个连续的字母。例如,从索引0开始的子序列是
CCAA
,从索引1开始的子序列是
CAAT
,从索引2开始的子序列是
AATA
,依此类推。为什么每次都要跳过一个字符。“ccataccgt”=CCAA、CAAT、AATA、ATAC?我对这件事感到迷茫
public class Subsequences {

    public static void main(String[] args) {

        String s = "CCAATA CCGT";
        String ss = s.replaceAll("\\s+","");

        int n = 4; // subsequences of length

        for (int i=0; i <= ss.length() - n; i++) {
             String substr = ss.substring(i, i + n);
             if (substr.matches("[a-zA-Z]+")) { 
                 System.out.println(substr); 
                }
        }
    }
}
for (int i=0; i <= ss.length() - n; i++) {
                 String substr = ss.substring(i, i + n);
                 if (substr.matches("[a-zA-Z]+")) { 
                     System.out.println(substr); 
                    }
            }