manipulação de strings

2 respostas
E

Boa tarde! preciso de ajuda para a resolução desse exercício, pois sou iniciante e não estou conseguindo sair da estaca zero.
Implemente um programa em JAVA que recebe como entrada uma string composta por no máximo
100 vogais, e os pesos (valores inteiros) de cada uma das vogais. A partir daí o programa deve
calcular o peso da string digitada e imprimir o resultado na tela. O peso da string deve ser composto
pelo somatório dos pesos de todas as vogais que a compõem. Devem ser consideradas as vogais
minusculas e maiúsculas. Caso sejam digitados caracteres diferentes de vogais, o programa deve
apresentar uma mensagem de erro na tela, informando que foi digitado um valor inválido.
Veja o exemplo da execução abaixo. Em negrito estão os valores de entrada digitados pelo usuário.
Digite a String apenas com vogais : AeaIoOiu
Digite o peso das vogais a e i o u
Peso 1a vogal : 1
Peso 2a vogal : 2
Peso 3a vogal : 0
Peso 4a vogal : 3
Peso 5a vogal : 4
Peso Total da String = 14
Atenção: O cálculo é realizado como segue:
peso(AeaIoOiu)=
peso(A)+peso(e)+peso(a)+peso(I)+peso(o)+peso(O)+peso(i)+peso(u)=
1+2+1+0+3+3+0+4 = 14

2 Respostas

nel

Para verificar se só tem vogais, pode usar isso:

String s = "AeaIoOiu"; boolean ok = s.matches("[AEIOUaeiou]+");

Se for ‘true’ é porque obviamente, só tem vogais, caso contrário, tem algum “lixo”, ou seja, é uma String inválida.
Sobre a soma, porque não usa um Map ?

A chave será a vogal e o valor o peso da vogal.
O resto é contigo. Senão puder usar Map, usa um vetor de tamanho 5 mesmo e uma lógica que tu faz fácil isso.

Frantic_Avenger

nel:
Para verificar se só tem vogais, pode usar isso:

String s = "AeaIoOiu"; boolean ok = s.matches("[AEIOUaeiou]+");

Só para completar, a informação do colega nel.
Use o método length() da classe String para ver se número de catarcteres é menor ou igual a 100 no input, como foi expecificado no enunciado.

Criado 11 de junho de 2012
Ultima resposta 11 de jun. de 2012
Respostas 2
Participantes 3