Pesquisar na Comunidade
Mostrando resultados para as tags ''java programação strings metodos algoritmos''.
Encontrado 1 registro
-
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;ObrigadoAbraç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; } } } }