Exercício de similaridade

Opa galera e aí tudo em cima?

Estou tentando fazer um exercício em cima de um algoritmo de similaridade para que ele faço o seguinte:
Ele deve pegar uma sequência de DNA (ATCG) e compará-la com uma outra qualquer, dessa comparação ele deve achar a maior pontuação possível, sendo que: (Letras combinadas igualmente dão 1 ponto, letras diferentes dão -1 e espaço sobrando dá -2)
Ex: ACG combinado com CG isso dará zero (0).
ACG
_CG

Bem o código da similaridade eu já tenho:

public class Similaridade{ 
    private String s1, s2; 
    private final int g=-2; 
    private int[][] m; 
    private int i,j; 

    public void setSequencias(String ps1, String ps2){ 
        if (ps1!=null && ps2!=null){ 
            s1=ps1; 
            s2=ps2; 
        } 
    } 

    //pegando a 1º sequencia 
    public String getSeq1(){ 
        return s1; 
    } 

    //pegando a 2º 
    public String getSeq2(){ 
        return s2; 
    } 

    //Montando uma matriz que fará a conta a partir da quantidade de elementos 
    //da sequência. 

    public int getSim(){ 
        int t1=s1.length(); 
        int t2=s2.length(); 
        m=new int[t1+1][t2+1]; 

        for(i=0;i<=t1;i++) m[i][0]=i*g; 
        for(j=0;j<=t2;j++) m[0][j]=j*g; 

        for(i=1;i<=t1;i++){ 
            for(j=1;j<=t2;j++){ 
                m[i][j]=maior(m[i-1][j]+g, m[i-1][j-1]+comp(i,j), m[i][j-1]+g); 
            } 
        } 

        i--; 
        j--; 

        return m[i][j]; 
    } 

    //método para fazer o cálculo para descobrir qual será o maior número     entre 
    //as combinações possíveis para ser colocado na matriz. 

    private int maior(int n1,int n2, int n3){ 
        int aux=n1; 
        if(n2>aux) aux=n2; 
        if(n3>aux) aux=n3; 
        return aux; 
    } 

    //cálculo feito a partir da comparação se as letras são iguais ou diferentes 
    //iguais recebe 1; diferentes recebe -1. 

    private int comp(int i, int j){ 
        return ((s1.charAt(i-1)==s2.charAt(j-1)?1:-1)); 
    } 
} 

Agora o código para testar se a similaridade funciona.

import javax.swing.JOptionPane; 
public class Teste{ 
    public static void main(String[] args){ 
        Similaridade obj = new Similaridade(); 

        obj.setSequencias(JOptionPane.showInputDialog("Entre com a primeira sequencia"), 
        JOptionPane.showInputDialog("Entre com a segunda sequencia")); 
        JOptionPane.showMessageDialog(null,"Seqüências: 
        " + obj.getSeq1() + " 
        " + 
        obj.getSeq2() + " 
        " + "e a similaridade entre as duas é " + obj.getSim()); 

        System.exit(0); 
    } 
} 

Obs: Esse código ainda está incompleto pois ele deve fazer a comparação das letras digitadas para ver se são as pertencentes a cadeia do DNA.

Agora o que eu não estou conseguindo achar uma solução é o seguinte.
Além dele mostrar o resultado ele mostrar a sequência tb ou seja, de acordo com o exemplo acima o resultado é zero(0), só que eu quero que seja mostrada a sequencia tb :

ACG
_CG

Se alguém tiver alguma idéia, puder ajudar, quiser tomar o programa mais complexo.
Agradeço

geizer:

apenas uma colocação sobre a sua pergunta…não há necessidade de postar ela no Java Basico e Java Avançado…com certeza, se alguem souber, irá te ajudar, pois o intuito do GUJ é esse, ajudar as pessoas e trocar conhecimentos…fique tranquilo, se souberem te ajudaram…eu por exemplo, nao sei… :lol:

Da proxima vez, lembre-se: poste em um forum apenas…

Ate mais e boa sorte na sua pergunta!

mas o q ele mostra na tela??
parece q no codigo da comparacao estah tudo certo…

mande aqui o q ele exibe na tela…

falow