Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
|
Faça uma função que recebe um vetor de Strings, e retorna a quantidade total de caracteres - Lista de Exercícios Resolvidos de JavaQuantidade de visualizações: 539 vezes |
|
Pergunta/Tarefa: Faça uma função Java que recebe um vetor de Strings, e retorna a quantidade total de caracteres. Sua função ou método deverá ser chamada conta_caractere(), receber um vetor de String como argumento e retornar um inteiro. Sua saída deverá ser parecida com: O vetor de strings é: [Julia, Igor, Paulo] O vetor de strings possui 14 caracteres Veja a resolução comentada deste exercício em Java:
|
|
Link para compartilhar na Internet ou com seus amigos: | |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar a posição da última ocorrência de uma substring em uma string Java usando a função lastIndexOf() da classe StringQuantidade de visualizações: 45 vezes |
Em algumas situações nós precisamos pesquisar uma substring em uma string Java e retornar o índice da última ocorrência encontrada. Para isso nós podemos usar o método lastIndexOf() da classe String. Veja um exemplo completo de seu uso: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class Estudos { public static void main(String[] args) { // Este exemplo mostra como pesquisar a última ocorrência // de uma substring em uma string String frase = "As pessoas costumam entender tudo sobre pessoas"; // verifica se a frase contém a palavra "pessoas" e // retorna a posição de sua última ocorrência int res = frase.lastIndexOf("pessoas"); if(res > 0){ System.out.println("A ultima ocorrencia foi encontrada na posicao: " + res); } else{ System.out.println("A substring nao foi encontrada"); } } } Ao executar este código Java nós teremos o seguinte resultado: A ultima ocorrencia foi encontrada na posicao: 40 |
Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca |
Estruturas de dados em Java - Como pesquisar um nó em uma árvore binária de busca usando um método recursivo usando JavaQuantidade de visualizações: 2355 vezes |
Nesta dica mostraremos um exemplo completo de como pesquisar um valor em uma árvore binária de busca em Java. Note que o exemplo usa apenas inteiros, mas você não terá dificuldades para modificar a classe Nó para os dados que você precisar. Código para No.java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arvore_binaria; public class No { private int valor; // valor armazenado no nó private No esquerdo; // filho esquerdo private No direito; // filho direito // construtor do nó public No(int valor){ this.valor = valor; this.esquerdo = null; this.direito = null; } public int getValor() { return valor; } public void setValor(int valor) { this.valor = valor; } public No getEsquerdo() { return esquerdo; } public void setEsquerdo(No esquerdo) { this.esquerdo = esquerdo; } public No getDireito() { return direito; } public void setDireito(No direito) { this.direito = direito; } } Código para ArvoreBinariaBusca.java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arvore_binaria; public class ArvoreBinariaBusca { private No raiz; // referência para a raiz da árvore // método usado para inserir um novo nó na árvore // retorna true se o nó for inserido com sucesso e false // se o elemento // não puder ser inserido (no caso de já existir um // elemento igual) public boolean inserir(int valor){ // a árvore ainda está vazia? if(raiz == null){ // vamos criar o primeiro nó e definí-lo como a raiz da árvore raiz = new No(valor); // cria um novo nó } else{ // localiza o nó pai do novo nó No pai = null; No noAtual = raiz; // começa a busca pela raiz // enquanto o nó atual for diferente de null while(noAtual != null){ // o valor sendo inserido é menor que o nó atual? if(valor < noAtual.getValor()) { pai = noAtual; // vamos inserir do lado esquerdo noAtual = noAtual.getEsquerdo(); } // o valor sendo inserido é maior que o nó atual else if(valor > noAtual.getValor()){ pai = noAtual; // vamos inserir do lado direito noAtual = noAtual.getDireito(); } else{ return false; // um nó com este valor foi encontrado } } // cria o novo nó e o adiciona como filho do nó pai if(valor < pai.getValor()){ pai.setEsquerdo(new No(valor)); } else{ pai.setDireito(new No(valor)); } } return true; // retorna true para indicar que o novo nó foi inserido } // método que permite pesquisar na árvore binária de busca public No pesquisar(int valor){ return pesquisar(raiz, valor); // chama a versão recursiva do método } // sobrecarga do método pesquisar que recebe dois // parâmetros (esta é a versão recursiva do método) private No pesquisar(No noAtual, int valor){ // o valor pesquisado não foi encontrado....vamos retornar null if(noAtual == null){ return null; } // o valor pesquisado foi encontrado? if(valor == noAtual.getValor()){ return noAtual; // retorna o nó atual } // ainda não encontramos...vamos disparar uma nova // chamada para a sub-árvore da esquerda else if(valor < noAtual.getValor()){ return pesquisar(noAtual.getEsquerdo(), valor); } // ainda não encontramos...vamos disparar uma nova // chamada para a sub-árvore da direita else{ return pesquisar(noAtual.getDireito(), valor); } } } E finalmente o código para a classe principal: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arvore_binaria; import java.util.Scanner; public class ArvoreBinariaTeste { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos criar um novo objeto da classe ArvoreBinariaBusca ArvoreBinariaBusca arvore = new ArvoreBinariaBusca(); // vamos inserir 5 valores na árvore for(int i = 0; i < 5; i++){ System.out.print("Informe um valor inteiro: "); int valor = Integer.parseInt(entrada.nextLine()); // vamos inserir o nó e verificar o sucesso da operação if(!arvore.inserir(valor)){ System.out.println("Não foi possível inserir." + " Um elemento já contém este valor."); } } // vamos pesquisar um valor na árvore System.out.print("\nInforme o valor a ser pesquisado: "); int valorPesquisa = Integer.parseInt(entrada.nextLine()); // obtém um objeto da classe NoArvore a partir do // método pesquisar() da classe ArvoreBinariaBusca No res = arvore.pesquisar(valorPesquisa); // o valor foi encontrado? if(res != null){ System.out.println("O valor foi encontrado na árvore"); } else{ System.out.println("O valor não foi encontrado na árvore"); } System.out.println("\n"); } } |
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como salvar o conteúdo de um JTextArea em um arquivo (usando um JFileChooser para localizar o diretório e arquivo)Quantidade de visualizações: 15522 vezes |
Nesta dica mostrarei como é possível como salvar o conteúdo de um JTextArea em um arquivo texto. Essa operação é muito frequente em aplicações Java Swing. Note que faremos uso de um JFileChooser para localizar o arquivo no qual o conteúdo será gravado, ou poderemos informar o nome do arquivo. Observe também o uso do método write() da classe FileWriter para escrever o conteúdo no arquivo. Para finalizar, perceba que não fiz os devidos tratamentos de erros e as mensagens de sucesso das operações e coisas. Fica como exercício para você finalizar. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; public class Estudos extends JFrame{ JTextArea textArea; JButton btn; public Estudos() { super("Salvando o conteúdo de um JTextArea em um arquivo"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); textArea = new JTextArea(10, 20); textArea.setLineWrap(true); btn = new JButton("Salvar Arquivo"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ JFileChooser fc = new JFileChooser(); if(fc.showSaveDialog(Estudos.this) != JFileChooser.APPROVE_OPTION){ return; } File arquivo = fc.getSelectedFile(); if(arquivo == null){ return; } FileWriter writer = null; try { writer = new FileWriter(arquivo); writer.write(textArea.getText()); } catch(IOException ex){ // Possiveis erros aqui } finally { if(writer != null){ try{ writer.close(); } catch (IOException x){ // trate os erros aqui } } } } } ); c.add(textArea); c.add(btn); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
VB.NET - Como calcular o coeficiente angular de uma reta em VB.NET dados dois pontos no plano cartesiano |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |