Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Escreva um programa Java para encontrar o primeiro caractere não repetido em uma string - Versão usando laços - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 645 vezes |
Pergunta/Tarefa: Escreva um programa Java que solicita ao usuário uma palavra, frase ou texto e mostra o primeiro caractere que não se repete na string informada. Sua implementação deverá usar somente laços, ou seja, não poderá usar nenhuma classe já pronta da linguagem Java, exceto os métodos length() e charAt da classe String. Sua saída deverá ser parecida com: Informe uma palavra, frase ou texto: Programar em PHP e Python A string informada foi: Programar em PHP e Python O primeiro caractere não repetido é: g Veja a resolução comentada deste exercício em Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package exercicio; import java.util.Scanner; public class Exercicio { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar uma string System.out.print("Informe uma palavra, frase ou texto: "); String string = entrada.nextLine(); // vamos mostrar a string informada System.out.println("A string informada foi: " + string); // vamos percorrer todos os caracteres da string for(int i = 0; i < string.length(); i++){ // esse caractere é único na string? boolean unico = true; // usamos um laço interno para varrer todos os caracetres da // string novamente for(int j = 0; j < string.length(); j++){ // se i for diferente de j e os caracteres nos índices i e j // forem iguais if (i != j && string.charAt(i) == string.charAt(j)) { unico = false; // não é único break; // sai do laço interno } } // encontramos um caractere único if(unico){ System.out.println("O primeiro caractere não repetido é: " + string.charAt(i)); break; // sai do laço externo } } } } |
![]() |
Java ::: Fundamentos da Linguagem ::: Comentários |
Java para iniciantes - Como inserir comentários em seus códigos JavaQuantidade de visualizações: 13331 vezes |
Comentários em Java, assim como em outras linguagens, são ignorados pelo compilador. Em Java, podemos usar dois estilos de comentários: 1) Comentário de uma única linha: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // obtém o resultado do cálculo int res = 4 + 5; // aqui também pode 2) Comentários de múltiplas linhas: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- /* Este exemplo mostra como verificar se um número é par ou ímpar. */ |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como obter a média dos valores dos elementos de um vetor de inteiros na linguagem JavaQuantidade de visualizações: 16980 vezes |
Nesta dica mostrarei como obter a média dos valores dos elementos de um array (vetor) de ints. A média que vamos obter é aritmética, ou seja, somamos todos os valores e dividimos pela quantidade de valores no vetor. 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; public class Estudos{ public static void main(String[] args){ int[] valores = new int[5]; // inicializa os elementos do vetor valores[0] = 23; valores[1] = 65; valores[2] = 2; valores[3] = 87; valores[4] = 34; // obtém a média double media = media(valores); System.out.println("A media dos valores é: " + media); System.exit(0); } // método que recebe um vetor de ints e retorna a média // dos valores de seus elementos public static double media(int[] a){ double total = 0.0; for(int i = 0; i < a.length; i++){ total += a[i]; } return (total / a.length); } } Ao executar este código nós teremos o seguinte resultado: A media dos valores é: 42.2 |
Java ::: Dicas & Truques ::: Threads |
Threads em Java - Como definir as prioridades das threads JavaQuantidade de visualizações: 12412 vezes |
Quando estamos trabalhando com threads em Java, precisamos estar cientes de que cada thread possui uma prioridade de execução. É por meio da prioridade de cada uma que o gerenciador de threads decidirá qual thread deverá ser executada primeiro. Por padrão, todas as threads possuem prioridade NORM_PRIORITY. Esta é uma constante que possui o valor 5 e está declarada na classe Thread. Além disso, cada thread herda automaticamente a prioridade da thread que a criou. As constantes MAX_PRIORITY (prioridade máxima), MIN_PRIORITY (prioridade mínima) e NORM_PRIORITY (prioridade normal) são usadas para definir as prioridades das threads Java. Veja um exemplo no qual temos duas threads. A primeira possui a prioridade máxima enquanto a segunda possui a prioridade mínima: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // criamos uma classe que servirá como thread class MinhaThread extends Thread{ private String nome; public MinhaThread(String nome){ this.nome = nome; } public void run(){ for(int i = 1; i <= 20; i++){ System.out.println(nome + ": " + i); } } } public class Estudos{ public static void main(String[] args){ // vamos criar duas threads MinhaThread t1 = new MinhaThread("Thread 1"); t1.setPriority(Thread.MAX_PRIORITY); // prioridade máxima t1.start(); MinhaThread t2 = new MinhaThread("Thread 2"); t2.setPriority(Thread.MIN_PRIORITY); // prioridade mínima t2.start(); } } Execute este exemplo e veja como a segunda thread só é executada quando a primeira finaliza. Remova as linhas que definem a prioridade e note como o tempo de cada thread é novamente fracionado. É importante ter em mente que aqui estamos falando de um ambiente de processador único. Em ambientes de múltiplos processadores o comportamento pode ser diferente do abordado na dica. Não devemos confiar em prioridades de threads quando o objetivo é aguardar a finalização de uma thread e só então permitir o processamento das instruções contidas no método run() de outra thread. Para estes casos o recomendável é usar alguma forma para sinalizar as demais threads de que a thread atual concluiu sua tarefa. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
C - Como verificar a existência de uma substring em uma string usando a função strstr() da linguagem C Delphi - Como usar o evento OnDrawCell para controlar o desenho das células em um TStringGrid do Delphi |
Códigos Fonte |
![]() 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 |
![]() 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 |