Coloquei o codigo assim pra facilita a visualização
[code]public class Automato extends JFrame implements ActionListener {
// Declaração das variaveis
private JLabel label;
private JTextField tfTexto;
private JButton btCalcular, btLimpar;
// Construtor; criação da tela
public Automato() {
// Colocando nome na Tela
super(“Automato de Codificação de Palavras”);
setSize(400, 200);
setLayout(null);
// Definição das Label, botões e Texto.
label = new JLabel("Digite a Palavra: ");
tfTexto = new JTextField(50);
btCalcular = new JButton(“Codificar”);
btCalcular.addActionListener(this);
btLimpar = new JButton(“Limpar”);
btLimpar.addActionListener(this);
// Posicionaldo os objetos na tela.
label.setBounds(20, 20, 100, 40);
add(label);
tfTexto.setBounds(150, 20, 200, 30);
add(tfTexto);
btLimpar.setBounds(50, 80, 100, 30);
add(btLimpar);
btCalcular.setBounds(220, 80, 100, 30);
add(btCalcular);
setVisible(true);
}
public Vector getLetras() {
// Armazeando cada letra da palavra
Vector letras = new Vector();
int cont = 1;
String palavra = Acentos.remover(tfTexto.getText());
for (int i = 0; i < tfTexto.getText().length(); i++) {
letras.add(i, palavra.substring(i, cont));
cont++;
}
return letras;
}
public void calcular() {
int posicao = 1;
int vogalAdj = 0;
int vogais = 1;
int resultado = 0;
int soma = 0;
String anterior = “B”;
boolean adjacente = false;
Vogal vogal = new Vogal();
Consoante con = new Consoante();
Adjacente va = new Adjacente();
CaracteresEspeciais especial = new CaracteresEspeciais();
Vector letras = getLetras();
Iterator auxiliar = letras.iterator();
while (auxiliar.hasNext()) {
String letra = (String) auxiliar.next();
if ((letra.toString().equals(“a”))
|| (letra.toString().equals(“A”))
|| (letra.toString().equals(“e”))
|| (letra.toString().equals(“E”))
|| (letra.toString().equals(“i”))
|| (letra.toString().equals(“I”))
|| (letra.toString().equals(“o”))
|| (letra.toString().equals(“O”))
|| (letra.toString().equals(“U”))
|| (letra.toString().equals(“u”))) {
soma = vogal.CodificacaoVogal(letra, soma);
soma = soma + posicao;
posicao++;
adjacente = va.VogalAdjacente(letra, anterior);
if (adjacente) {
vogais++;
vogalAdj = vogais;
}
}
else {
soma = con.CodificacaoConsoante(letra, soma);
soma = soma + posicao;
posicao++;
}
if (especial.Especial(letra)) {
JOptionPane
.showMessageDialog(null, “Palavra " + " inválida !!”);
break;
}
anterior = letra;
}
resultado = soma + (3 * vogalAdj);
JOptionPane.showMessageDialog(null, “A palavra Codificada é :”
- resultado + “\nContém " + vogalAdj + " Vogais Adjacente”);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btCalcular) {
calcular();
}
if (e.getSource() == btLimpar) {
tfTexto.setText("");
}
}
public static void main(String[] args) {
Automato automato = new Automato();
automato.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
} [/code]