Ola eu de novo
Quando compilo o código abaixo no compilador não aparece erro nenhum, mas com ele em execução, na tela o DOS aparece essa mensagem:
“Exception in thread “main” java.lang.StringIndexOutOfBoundsExcption: String index out of range: 3
at java.lang.StringBuffer.charAt(StringBufer.java:283)
at Trabalho2.main(Trabalho2.java:35)”
import javax.swing.JOptionPane;
public class Trabalho2
{
public static void main (String[] args)
{
String frase=JOptionPane.showInputDialog (null,"Informe uma frase");
String aux=frase;//.trim();//tira os espaços no inicio e no fim da frase
frase=aux.toLowerCase();
int cont = 1; // contador setado em 1 para primeira palavra
for(int i=0; i < frase.length(); i++)
{
if (frase.charAt(i) == ' ') // procura por epaço em branco
cont = cont + 1; // quando acha soma uma palavra
}
JOptionPane.showMessageDialog(null,"Quantidade de palavras na frase\n"+cont);;
StringBuffer texto=new StringBuffer(frase);//cria StringBuffer com o conteudo da string
for(int x=0; x < texto.length(); x++)
{
if ((texto.charAt(x)) == 'a')
texto.deleteCharAt(x);
if ((texto.charAt(x)) == 'e')
texto.deleteCharAt(x);
if ((texto.charAt(x)) == 'i')
texto.deleteCharAt(x);
if ((texto.charAt(x)) == 'o')
texto.deleteCharAt(x);
if ((texto.charAt(x)) == 'u')
texto.deleteCharAt(x);
}
JOptionPane.showMessageDialog(null,"Frase sem as vogais\n"+texto);;
System.exit(0);
}
}