Boa tarde,
Venho por meio desta solicitar auxílio em um exercício da faculdade, uma vez que estou com dificuldade de colocar suas lógicas no programa.
Segue abaixo o exercício e o código do programa, e acho que deve ser melhorado.
Grato.
Exercício
- Sua empresa foi contratada para desenvolver um sistema de reserva de passagens aéreas para uma companhia de pequeno porte. Esta companhia possui quatro aeronaves que fazem os seguintes trechos, com os seguintes preços:
Aeronave 1 – Rio-Búzios-Rio – R$ 350,00
Aeronave 2 – Rio-Macaé-Rio - R$ 400,00
Aeronave 3 – Rio-Campos-Rio - R$ 400,00
Aeronave 4 – Rio-Vitória – Rio - R$ 700,00
Todas as aeronaves possuem somente vinte lugares.
Nosso aplicativo deve implementar as seguintes funcionalidades:
· O sistema poderá reservar passagens para até 10% a mais da capacidade da aeronave.
· Passageiros com menos de 10 anos pagam a metade do valor da passagem.
· Se houver menos do que 5 passageiros o vôo será cancelado.
· Após o encerramento das reservas, que poderá ser pelo esgotamento da aeronave ou pela hora de embarque, o sistema deverá informar, por cada vôo:
o Nomes dos passageiros embarcados por poltrona
o Valor total vendido de passagens
o Menores embarcados
o Quantidade de poltronas não ocupadas, se houver.
· Tratar todas as exceções possíveis sobre os dados digitados.
· Será utilizado o SWING como interface gráfica.
Código:
[code]import java.awt.;
import javax.swing.;
import javax.swing.border.*;
import javax.swing.ButtonGroup;
import javax.swing.JRadioButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;
import javax.swing.JButton;
public class ReservaDePassagem extends JFrame
{
ButtonGroup bg = new ButtonGroup();
public ReservaDePassagem()
{ super(“Reserva de Passagens”);
setSize(1025,725);
Container c = getContentPane();
c.setLayout(new BorderLayout(3,9));
JPanel data = new JPanel(new GridLayout(3,3,5,5));
data.setBorder(new TitledBorder(new EtchedBorder(),"Data"));
JLabel label_dia = new JLabel("Dia: ");
JTextField campo_dia = new JTextField(2);
JLabel label_mes = new JLabel("Mes: ");
JTextField campo_mes = new JTextField(2);
JLabel label_ano = new JLabel("Ano: ");
JTextField campo_ano = new JTextField(4);
data.add(label_dia);
JPanel dia = new JPanel(); dia.add(campo_dia); data.add(dia);
data.add(label_mes);
JPanel mes = new JPanel(); mes.add(campo_mes); data.add(mes);
data.add(label_ano);
data.add(campo_ano);
JPanel p13 = new JPanel(); p13.add(data);
JPanel classe = new JPanel(new GridLayout(2,2,2,2));
classe.setBorder(new TitledBorder(new LineBorder(Color.black,3),"Classe"));
JLabel label_classe = new JLabel("Classe:");
JRadioButton c1 = new JRadioButton("Aeronave 1:Rio-Búzios-Rio");
c1.setActionCommand("Pesquisar Aeronave 1");
JRadioButton c2 = new JRadioButton("Aeronave 2:Rio-Macaé-Rio");
JRadioButton c3 = new JRadioButton("Aeronave 3:Rio-Campos-Rio");
JRadioButton c4 = new JRadioButton("Aeronave 4:Rio-Campos-Rio");
classe.add(c1); classe.add(c2); classe.add(c3);classe.add(c4);
JPanel p14 = new JPanel(); p14.add(classe);
JPanel p1 = new JPanel(new GridLayout(3,3,3,3));
p1.add(p13); p1.add(p14);
JPanel p = new JPanel(); p.add(p1);
c.add(p,BorderLayout.NORTH);
JList lista_voos = new JList();
JScrollPane vs = new JScrollPane(lista_voos);
JPanel voos = new JPanel(new BorderLayout(4,4));
voos.setBorder(new TitledBorder(new BevelBorder(BevelBorder.RAISED),"Voos disponiveis"));
voos.add(vs,BorderLayout.CENTER);
c.add(voos,BorderLayout.CENTER);
//ButtonGroup bg = new ButtonGroup();
bg.add(c1); bg.add(c2); bg.add(c3);
// c3.getModel().setSelected(true);
JPanel pBs = new JPanel();
JPanel pbs = new JPanel();
pbs.setLayout(new GridLayout(1,3,5,5));
JButton b1 = new JButton("Pesquisar");
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if( bg.getSelection() != null ){
JOptionPane.showMessageDialog(
ReservaDePassagem.this,
"Opção selecionada : " + bg.getSelection().getActionCommand());
}else{
JOptionPane.showMessageDialog(
ReservaDePassagem.this,
"Selecione uma opção!");
}
}
});
JButton b2 = new JButton("Reservar");
JButton b3 = new JButton("Sair");
pbs.add(b1); pbs.add(b2); pbs.add(b3);
pBs.add(pbs);
c.add(pBs,BorderLayout.SOUTH);
setVisible(true);
}
public static void main (String[] a)
{ new ReservaDePassagem(); }
}[/code]
