创建一个String匹配的DNA方法

时间:2015-02-05 03:31:42

标签: java eclipse pattern-matching string-matching dna-sequence

我正在尝试为程序创建一个方法,其中DNAstrand对象中的碱基与较小的碱基串(这将是参数)进行比较,并且它将在DNAstrand对象的碱基中搜索模式。一旦找到模式,我希望它返回DNAStrand对象中模式开始的位置编号。我到目前为止已尝试过,但我的代码无效。这是我到目前为止的代码(注意我在另一个方法中使用另一种方法)

    for(int position =0; position + substrand.getLength() < (this.getLength()- substrand.getLength() +1); position ++){

        if(matchAt(substrand)){
            return position;
            } 
        } return -1; 
        } 










    protected boolean matchAt(DNAStrand substrand) { 

    for (int i = 0; i < (this.getLength()- substrand.getLength() +1); i++) { 
    if (this.getBaseAt(i) != substrand.getBaseAt(i)) {
        return false;
        } }return true; 
        } 

1 个答案:

答案 0 :(得分:0)

您正在寻找字符串中的子字符串。

您可以使用String的.indexOf()函数:

protected int matchAt(string substrand){
    return dnastrand.indexOf(substrand)
}

我不知道对象如何处理特定于您的类的toString()实现,但这是一般的想法。你根本不需要for循环,只需返回int。

它返回字符串中第一个子字符串实例的索引。