Duvida em fazer saida de estacionamento

Bom pesoal estou começando java agora ai estou fazer um pragraminha de um estacionamento, so q quando chegou na parde de eu fazer a saida estou com problemas, n estou conseguindo colocar
q o carro n pagou ainda, pra a liberação, sera q tem como vcs me ajudarem eu t6enho q estraga amanha , e exercicio avaliativo.vou postar meu codigo:

package ProjetoAvaliativojava;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.JOptionPane;

public class Estacionamento {

private static ArrayList<Veiculo> vetVeiculo = new ArrayList<Veiculo>();

private static String ExibeMenu() {
    return JOptionPane.showInputDialog(null, " ##Menu Estacionamento##\n"
            + "1- Registrar entrada de veiculo!\n"
            + "2- Listar Veiculo no estacionamento!\n"
            + "3- Consultar veiculo!\n"
            + "4- Realizar pagamneto!\n"
            + "5- Realizar saida do veiculo!\n"
            + "0- Sair do Sistema!");
}

public static void main(String[] args) {
    carregadadosVeiculos();
    int op;
    do {
        op = Integer.parseInt(ExibeMenu());
        switch (op) {
            case 0:
                salvaDadosVeiculo();
                JOptionPane.showMessageDialog(null, "Saindo...");

                break;
            case 1:
                registraCarro();
                break;
            case 2:
                listarVeiculo();

                break;
            case 3:
                consultaVeiculo();

                break;
            case 4:
                realizaPagamento();

                break;
            case 5:
                saidaVeiculo();

                break;

            default:
                JOptionPane.showMessageDialog(null, "Opcao invalida");
        }

    } while (op != 0);


}

private static void registraCarro() {
    Veiculo veiculo = new Veiculo();
    veiculo.setPlaca(JOptionPane.showInputDialog(null, "Informe a placa do veiculo"));
    veiculo.setCor(JOptionPane.showInputDialog(null, "Informe a Cor do veiculo"));
    veiculo.setModelo(JOptionPane.showInputDialog(null, "Informe o Modelo do Veiculo"));
    veiculo.setFabricante(JOptionPane.showInputDialog(null, "Informe  o Fabricante do Veiculo"));
    veiculo.sethEntrada(Integer.parseInt(JOptionPane.showInputDialog(null, "Informe a Hora de entrada do veiculo")));
    veiculo.setmEntrada(Integer.parseInt(JOptionPane.showInputDialog(null, "Informe os Minutos de entrda do veiculo")));
    vetVeiculo.add(veiculo);

    JOptionPane.showMessageDialog(null, "Cliente Cadastrado com Sucesso!");

}

private static void listarVeiculo() {
    Iterator<Veiculo> it = vetVeiculo.iterator();
    Veiculo temp;
    String dados = "";
    while (it.hasNext()) {
        temp = it.next();
        dados = dados + temp.getPlaca() + " - " + temp.getModelo() + "\n";
    }
    JOptionPane.showMessageDialog(null, dados);
}

private static void consultaVeiculo() {

    String placaConsultar = JOptionPane.showInputDialog(null, "Entre com a placa do veiculo que deseja consultar");

    boolean achou = false;
    //varremos o vetor em busca do elemento procurado
    Iterator<Veiculo> it = vetVeiculo.iterator();
    Veiculo temp;
    while (it.hasNext()) {
        temp = it.next();
        //se encontrar o codigo que procuramos, mostramos os dados deste elemento!
        if (temp.getPlaca().equals(placaConsultar)) {
            achou = true;
            String pago = "";
            if (temp.getPagamento()) {
                pago = "Carro Pagou Estacionamento";
            } else {
                pago = "Carro Nao Pagou Estacionamento";
            }

            JOptionPane.showMessageDialog(null, "placa >" + temp.getPlaca()
                    + "\n Cor> " + temp.getCor()
                    + "\nmodelo> " + temp.getModelo()
                    + "\nfabricante> " + temp.getFabricante()
                    + "\nHora de entrada> " + temp.gethEntrada()
                    + "\nminuto entrada> " + temp.getmEntrada()
                    + "\n" + pago);


        }

    }
    //Se nao encontrar...
    if (!achou) {
        JOptionPane.showMessageDialog(null, "Cliente nao localizado!");
    }


}
// realiza o pagamento

private static void realizaPagamento() {

    String placa = JOptionPane.showInputDialog(null, "Entre com Placa");
    Iterator<Veiculo> it = vetVeiculo.iterator();
    Veiculo temp;
    while (it.hasNext()) {
        temp = it.next();
        if (temp.getPlaca().equals(placa)) {
            int hAtual = (Integer.parseInt(JOptionPane.showInputDialog(null, "entre com ahora atual")));
            int mAtual = (Integer.parseInt(JOptionPane.showInputDialog(null, " entra com os minutos atual")));
            int mTotal = hAtual * 60 + mAtual;
            int mEntrada = temp.gethEntrada() * 60 + temp.getmEntrada();
            int mEstadia = mTotal - mEntrada;
            int hEstadia = mEstadia / 60;
            JOptionPane.showMessageDialog(null, "voce deve Pagar" + (hEstadia * 1.5));
            temp.setPagamento(true);
            JOptionPane.showMessageDialog(null, "Pagamento com sucesso");
            return;
        }
    }
    JOptionPane.showMessageDialog(null, "Nao foi Possivel realizar pagamento");

}
// na veriaficação se o veiculo esta pago//

private static void saidaVeiculo() {
       String codigoConsultar = JOptionPane.showInputDialog(null, "Entre com a placa do veiculo: ");
    boolean achou = false;
    Iterator<Veiculo> it = vetVeiculo.iterator();
    Veiculo temp;

    while (it.hasNext()) {
        temp = it.next();
        if (temp.getPlaca().equals(codigoConsultar)) {
            achou = true;
            if (temp.getPagamento()) {
                int hAtual = Integer.parseInt(JOptionPane.showInputDialog(null, "Informe as Horas:"));
                int mAtual = Integer.parseInt(JOptionPane.showInputDialog(null, "Informe os minutos: "));
                int mAtualTotal = (temp.gethEntrada() * 60 + temp.getmEntrada());
                int mSaidaTotal = (hAtual * 60 + mAtual);
                int mTotal = mSaidaTotal - mAtualTotal;
                vetVeiculo.remove(temp);

        if (mTotal <= 20) {
                         JOptionPane.showMessageDialog(null, "Placa > " + temp.getPlaca()
                        + "\nHora de Entrada > " + temp.gethEntrada() + ":" + temp.getmEntrada()
                        + "\nHora de Saida > " + temp.gethEntrada() + ":" + temp.getmEntrada()
                        + "\n\nSAIDA LIBERADA!");





                } else {
                     JOptionPane.showMessageDialog(null, "Multa! voce ultrapassou o tempo permitido, recebera multa de."
                            + "\nTotal da Multa: R$" + 0.5);
                    return;


                }


            }
        }
    }
}

private static void salvaDadosVeiculo() {
    try {
        //Salva os veiculo
        FileOutputStream f = new FileOutputStream("veiculo.arq");
        ObjectOutputStream saida = new ObjectOutputStream(f);
        Iterator<Veiculo> it = vetVeiculo.iterator();
        while (it.hasNext()) {
            saida.writeObject(it.next());
        }
        saida.flush();
        saida.close();
        f.close();


    } catch (Exception ex) {
    }

 
}

private static void carregadadosVeiculos() {
    try {
        //carrega os veuculo
        FileInputStream f = new FileInputStream("veiculo.arq");
        ObjectInputStream entrada = new ObjectInputStream(f);
        Veiculo temp;
        while ((temp = (Veiculo) entrada.readObject()) != null) {
            vetVeiculo.add(temp);
        }
        entrada.close();
        f.close();

    } catch (Exception ex) {
    }
}

}
:slight_smile:

No trecho

private static void saidaVeiculo() { 
String codigoConsultar = JOptionPane.showInputDialog(null, "Entre com a placa do veiculo: "); 
boolean achou = false; 
Iterator<Veiculo> it = vetVeiculo.iterator(); 
Veiculo temp; 

while (it.hasNext()) { 
temp = it.next(); 
if (temp.getPlaca().equals(codigoConsultar)) { 
achou = true; 
if (temp.getPagamento()) { 
int hAtual = Integer.parseInt(JOptionPane . . .
( . . .)

está faltando incluir um else relativo ao comando

if (temp.getPagamento())

para exibir a mensagem de “não pago”

Ao postar códigos, use a tag code:
http://www.guj.com.br/posts/list/50115.java

Desde o Java 1.5, você não precisa usar o Iterator diretamente. Você pode obter o mesmo resultado com um for each, veja um exemplo:

private static void listarVeiculo() { String dados = "": for (Veiculo temp : vetVeiculo) { dados = dados + temp.getPlaca() + " - " + temp.getModelo() + "\n"; } JOptionPane.showMessageDialog(null, dados); }