Ir para conteúdo
Fórum Script Brasil
  • 0

Giovane Lizot

Pergunta

Boa Noite Estou com uma duvida na manipulação de String:
Bom meu exercício consiste em Desenvolver uma classe em java, como o objetivo de realizar analises em uma cadeia de caracteres. Que contem alguns métodos, como:
- Definir(setar) uma cadeia principal de caracteres;
- Definir(setar) uma cadeia secundária de caracteres;
- Retorna quantas vezes o cadeia secundária ocorre na cadeia principal;
- Retorna a posição da primeira ocorrência da cadeia secundária dentro da principal;
- Dado uma faixa de posições, retornar quantas vezes o cadeia secundária ocorre na cadeia principal;
- Dado uma faixa de posições, retornar a posição da primeira ocorrência da cadeia secundária dentro da principal.
Mas estou com problemas para chamar as funções na Classe com o Método Main;
Quem possa analisar meu código e me ajudar fico grato desde já:
Meu código segue abaixo;
Obrigado
Abraço

package comparacao_de_strings;

/**
 *
 * @author Administrador
 */
public class Strings {

    private int aux;
    private int contaContem;
    private int contem;
    private int naocontem;
    String str1;
    String str2;

    public int getAux() {
        return aux;
    }

    public void setAux(int aux) {

        this.aux = aux;
    }

    public int getContaContem() {
        return contaContem;
    }

    public void setContaContem(int contaContem) {
        this.contaContem = contaContem;
    }

    public int getContem() {

        return contem;

    }

    public void setContem(int contem) {

        this.contem = contem;
    }

    public int getNaocontem() {
        return naocontem;
    }

    public void setNaocontem(int naocontem) {
        this.naocontem = naocontem;
    }

    public String getStr1() {
        return str1;
    }

    public void setStr1(String str1) {
        this.str1 = str1;
    }

    public String getStr2() {
        return str2;
    }

    public void setStr2(String str2) {
        this.str2 = str2;
    }

    public boolean existe() {
        int tamP = str1.length();
        int tamS = str2.length();
        int i, j = 0;
        for (i = 0; i <= tamP - tamS; i++) {
            if (str1.charAt(i) == str2.charAt(0)) {
                while (str1.charAt(i + j) == str2.charAt(j)) {
                    j++;
                    if (j == tamS);
                    return true;

                }
            }
        }
        return false;
    }

    public int compararStrings(String str1, String str2) {
        int tamanhodastr1 = str1.length();
        int tamanhodastr2 = str2.length();
        int aux = 0;
        for (int i = 0; i < tamanhodastr1; i++) {

            for (int x = 0; x < tamanhodastr2; x++) {
                if (str2.charAt(x) != str1.charAt(i + x)) {
                    naocontem++;
                    if (str1.equals(str2)) {
                        System.out.println("");
                    }

                } else {

                    contaContem++;
                }

                if (naocontem > 0) {
                    break;
                }
            }
            if (naocontem == 0) {
                contem++;

                if (contem == 1) {
                    aux = i;
                }
            }

            naocontem = 0;
        }
        return contem;
    }

    public int contFaisa(String str1, String str2, int inicio, int fim) {
        int aux = 0;

        int tamanhodastr1 = fim;
        int tamanhodastr2 = str2.length();

        for (int i = inicio; i < tamanhodastr1; i++) {

            for (int x = 0; x < tamanhodastr2; x++) {
                if (str2.charAt(x) != str1.charAt(i + x)) {
                    naocontem++;
                } else {
                    contaContem++;

                }

                if (naocontem > 0) {
                    break;
                }
            }
            if (naocontem == 0) {
                contem++;

                if (contem == 1) {
                    aux = i;
                }
            }

            naocontem = 0;
        }
        return contem;
    }
}




package comparacao_de_strings;

import java.util.Scanner;

/**
 *
 * @author Administrador
 */
public class Comparacao_de_Strings {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int opcao;
        String str1;
        String str2;
        int inicio;
        int fim;
        int sair;
        Strings t = new Strings();
        Scanner ler = new Scanner(System.in);
        while (true) {
            System.out.println("Digite 1 para comparar Strings ; "
                    + "2 para comparar em uma faixa de posições ;"
                    + " ou 0 para sair");
            opcao = ler.nextInt();
            switch (opcao) {
                case 1:
                    System.out.println("String nº1:");
                    
                    str1 = ler.nextLine();
                    
                    System.out.println("String nº2:");
                    
                    str2 = ler.nextLine();
                    
                    System.out.println("A String 2 Contem " + t.getContem() + " vezes na String 1");
                    System.out.println("A primeira ocorrencia aparece em " + t.getAux() + " ");
                    t.compararStrings(str1, str2);
                    break;
                case 2:
                    System.out.println("String nº1:");
                    str1 = ler.nextLine();
                    System.out.println("String nº2:");
                    str2 = ler.nextLine();
                    System.out.println("Escreva o valor de inicio para a faixa de Valores");
                    inicio = ler.nextInt();
                    System.out.println("Escreva o valor final para a faixa de Valores");
                    fim = ler.nextInt();
                    t.contFaisa(str1, str2, inicio, fim);
                    System.out.println("A String 2 Contem " + t.getContem() + " vezes na String 1");
                    System.out.println("A primeira ocorrencia aparece em " + t.getAux() + " ");
                    break;
                default:
                    System.out.println("Vc saiu");
                    break;
            }
            System.out.println("");
            if (opcao == 0) {

                break;

            }
        }

    }

}

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...