Lista de exercícios para a prática de manipulação de Strings

Propaganda
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
Download