Instituto Federal de Minas Gerais - Campus avançado de Ponte Nova - IFMG Disciplina: Linguagem de programação Professor: Saulo Henrique Cabral Silva Lista de exercícios para a prática de manipulação de Strings Professor: Saulo Henrique Cabral Silva Disciplina: Linguagem de Programação 1. Faça um programa em Java que peça ao usuário para digitar um texto e informe quantos caracteres possui o texto informado pelo usuário. (Utilize o método length()). 2. Faça um programa em Java que mostre a seguinte saída: (Utilize o método charAt()). I If Ifm Ifmg Ifm If I 3. Construa uma classe em Java que peça ao usuário para digitar um texto em letras maiúsculas e mostre o texto em letra minúscula, em seguida solicite-o um texto em letra minúscula e mostre-o em letra maiúsculas. (Utilize os métodos toLowerCase() e toUpperCase() ). 4. Faça um programa em Java que mostre a seguinte saída: (Utilize o método substring()). I If Ifm Ifmg Ifm If I 5. Construa uma classe que solicite uma frase escrita pelo usuário. Peça ao usuário para escolher uma palavra da frase escrita e substituí-la por outra palavra. (Utilize o método replace()). 6. Faça um programa que converta os valores do tipo inteiro, para uma única String. Depois, substitua os valores referentes para a letra correspondente e mostre a palavra gerada.(Utilize os métodos replace()) Substituir: 1 = a, 3 = c, 4 = d, 12 = m, 14 = o, 15 = p, 17 = r, 19 = t, 20 = u Código da palavra: 3 – 14 – 12 – 15 – 20 - 19 – 1 – 4 – 14 – 17 7. Construa uma classe que solicite uma frase escrita pelo usuário. Peça ao usuário para escolher uma palavra da frase escrita e retornar um índice referente à posição da palavra. (Utilize o método indexOf()). 8. Faça um programa que, a partir de uma string digitada pelo usuário, imprima: a) O número de caracteres da string. b) A string com todas suas letras em maiúsculo. c) O número de vogais da string. d) Se a string digitada começa com “INS” (ignorando maiúsculas/minúsculas). e) Se a string digitada termina com “AIS” (ignorando maiúsculas/minúsculas). f) O número de dígitos (0 a 9) da string. 9. Escreva um programa que dado um valor numérico digitado pelo usuário (armazenado em uma variável inteira), imprima cada um dos seus dígitos por extenso. Exemplo: Entre o número: 4571 Resultado: quatro, cinco, sete, um 10. Escreva um programa que, a partir de um nome informado pelo usuário, exiba suas iniciais. As iniciais são formadas pela primeira letra de cada nome, sendo que todas deverão aparecer em maiúsculas na saída do programa. Note que os conectores e, do, da, dos, das, de, di, du não são considerados nomes e, portanto, não devem ser considerados para a obtenção das iniciais. As iniciais devem ser impressas em maiúsculas, ainda que o nome seja entrado todo em minúsculas. Exemplos: Maria das Graças Pimenta => MGP Fulano de Tal => FT José da Silva => JS Saulo Henrique Cabral Silva => SHCS 11. Faça um programa que, a partir de um texto digitado pelo usuário, conte o número de caracteres total e o número de palavras (palavra é definida por qualquer sequência de caracteres delimitada por espaços em branco) e exiba o resultado. 12. Faça um programa que, a partir de um texto digitado pelo usuário, imprima o texto removendo todos os espaços em branco adicionais encontrados, de modo que haja, no máximo, um espaço em branco separando as palavras presentes nesse texto. 13. Nome ao contrário em maiúsculas. Faça um programa que permita ao usuário digitar o seu nome e em seguida mostre o nome do usuário de trás para frente utilizando somente letras maiúsculas. Dica: lembre−se que ao informar o nome o usuário pode digitar letras maiúsculas ou minúsculas. 14. Nome na vertical. Faça um programa que solicite o nome do usuário e imprima-o na vertical. F U L A N O 15. Nome na vertical em escada. Modifique o programa anterior de forma a mostrar o nome em formato de escada. F FU FUL FULA FULAN FULANO 16. Nome na vertical em escada invertida. Altere o programa anterior de modo que a escada seja invertida. FULANO FULAN FULA FUL FU F 17. Data por extenso. Faça um programa que solicite a data de nascimento (dd/mm/aaaa) do usuário e imprima a data com o nome do mês por extenso. Data de Nascimento: 29/10/1973 Você nasceu em 29 de Outubro de 1973. 18. Conta espaços e vogais. Dado uma string com uma frase informada pelo usuário (incluindo espaços em branco), conte: a. quantos espaços em branco existem na frase. b. quantas vezes aparecem as vogais a, e, i, o, u. 19. Palíndromo. Um palíndromo é uma sequencia de caracteres cuja leitura é idêntica se feita da direita para esquerda ou vice−versa. Por exemplo: OSSO e OVO são palíndromos. Em textos mais complexos os espaços e pontuação são ignorados. A frase SUBI NO ONIBUS é o exemplo de uma frase palíndroma onde os espaços foram ignorados. Faça um programa que leia uma sequencia de caracteres, mostre−a e diga se é um palíndromo ou não. 20. Número por extenso. Escreva um programa que solicite ao usuário a digitação de um número no intervalo de 20 à 99 e imprima-o na tela por extenso. 21. Valida e corrige número de telefone. Faça um programa que leia um número de telefone, e corrija o número no caso deste conter somente 7 dígitos, acrescentando o '3' na frente. O usuário pode informar o número com ou sem o traço separador. Valida e corrige número de telefone Telefone: 461-0133 Telefone possui 7 dígitos. Vou acrescentar o digito três na frente. Telefone corrigido sem formatação: 34610133 Telefone corrigido com formatação: 3461-0133 22. Dados uma frase e uma palavra, escreva um programa que verifique o número de vezes que a palavra ocorre na frase. Exemplo: Na frase ANA E MARIANA GOSTAM DE BANANA, a palavra ANA ocorre 4 vezes. 23. Elabore um programa para obter o nome de uma pessoa e a seguir forneça o sobrenome do nome informado. Por exemplo para o nome: Omero Francisco Bertol, o programa deverá fornecer como resultado: Bertol. 24. Escreva um programa que informe se todos os caracteres alfabéticos de uma frase fornecida pelo usuário são maiúsculos. 25. Escreva um programa que imprima o número de consoantes de uma cadeia de caracteres. 26. Fazer um programa para contar quantos espaços em branco existem em uma frase fornecida pelo usuário. 27. Escreva um programa para ler uma quantidade indeterminada de palavras (o programa termina ao ser informada uma palavra que começa com a letra 'f'). Para cada palavra informada (incluindo a última) escrever a primeira e a última letra. [Entrada] [Saída] Java J-a Ifmg I-g fim f-m 28. Escreva um programa para ler uma palavra. A seguir escrever a palavra lida na diagonal, com uma letra em cada linha conforme o exemplo abaixo. [Entrada] [Saída] Ifmg I f m g 29. Faça um programa que receba uma palavra e calcule quantas vogais (a, e, i, o, u) possui essa palavra. Entre com um caractere (vogal ou consoante) e substitua todas as vogais da palavra dada por esse caractere. 30. Leia uma cadeia de caracteres e converta todos os caracteres para maiúscula. Dica: subtraia 32 dos caracteres cujo código ASCII esta entre 65 e 90. 31. O código de César é uma das mais simples e conhecidas técnicas de criptografia. É um tipo de substituição na qual cada letra do texto é substituída por outra, que se apresenta no alfabeto abaixo dela um numero fixo de vezes. Por exemplo, com uma troca de três posições, ‘A’ seria substituído por ‘D’, ‘B’ se tornaria ‘E’, e assim por diante. Implemente um programa que faça uso desse Código de César (3 posições), entre com uma string e retorne a string codificada. Exemplo: a ligeira raposa marrom saltou sobre o cachorro cansado Nova string: D OLJHLUD UDSRVD PDUURP VDOWRX VREUH R FDFKRUUR FDQVDGR 32. Leia uma cadeia de caracteres no formato “DD/MM/AAAA” e copie o dia, mês e ano para 3 variáveis inteiras. Antes disso, verifique se as barras estão no lugar certo, e se DD, MM e AAAA são numéricos. 33. Faça um programa que encontre o conjunto de 5 dígitos consecutivos na sequência abaixo que gere o maior produto: 73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 85861560789112949495459501737958331952853208805511 12540698747158523863050715693290963295227443043557 66896648950445244523161731856403098711121722383113 62229893423380308135336276614282806444486645238749 30358907296290491560440772390713810515859307960866 70172427121883998797908792274921901699720888093776 65727333001053367881220235421809751254540594752243 52584907711670556013604839586446706324415722155397 53697817977846174064955149290862569321978468622482 83972241375657056057490261407972968652414535100474 82166370484403199890008895243450658541227588666881 16427171479924442928230863465674813919123162824586 17866458359124566529476545682848912883142607690042