Pessoal, estou tentando resolver um exercício e encontrei algumas dificuldades. Gostaria de contar com a colaboração de vocês, dicas e etc. Qualquer ajuda é bem vinda para a solucionar o mesmo.
Desde já agradeço.
Segue abaixo as indicações do exercício:
1 - Criar uma classe: Meios de Transporte com os seguintes atributos:
(marca, modelo, ano de fabricação, potência do motor, quantidade de rodas).
2 - Criar as seguintes sub classes de Meios de Transporte:
2.1 - Moto - com os atributos tamanhos do Aro e cilindradas.
2.2 ? Ônibus - com o atributo quantidade de passageiros.
2.3 ? Caminhão - Tara / Quantidade de Eixos.
2.4 ? Trem - quantidade de vagões.
2.5 ? Avião - tipo de propulsão autonomia.
=====================================================================
A - Todos os atributos deverão ser privativos. Cada classe devera ter pelo menos 2 construtores.
B - Criar uma classe que deverá permitir ao usuário escolher o tipo de meio de transporte que
deseja criar e a quantidade de cada um.
C - O programa devera ainda exibir os valores atribuídos e através de uma variável estática informar
quantos meios de transporte foram criados.
D - O programa devera verificar se o usuário deseja cadastrar mais meios de transporte e em caso negativos
será encerrado.
=====================================================================
public class MeiosDeTransporte
{
private String marca, modelo;
private int anoFabricacao, qtdeRodas;
private float potenciaMotor;
public MeiosDeTransporte ()//Construtor padrão
{
}
public MeiosDeTransporte(String marca, String modelo, int anoFabricacao,
int qtdeRodas, float potenciaMotor)
{
this.marca = marca;
this.modelo = modelo;
this.anoFabricacao = anoFabricacao;
this.qtdeRodas = qtdeRodas;
this.potenciaMotor = potenciaMotor;
}
// Set e Get Marca
public void setMarca(String marca)
{
this.marca=marca;
}
public String getMarca()
{
return marca;
}
// Set e Get Modelo
public void setModelo(String mod)
{
this.marca = modelo;
}
public String getModelo(){
return modelo;
}
// Set e Get Ano de Fabricacao
public void setAnoFabricacao(int anoFabricacao)
{
this.anoFabricacao = anoFabricacao;
}
public int getAnoFabricacao()
{
return anoFabricacao;
}
// Set e Get QtdeRodas
public void setQtdeRodas (int qtdeRodas)
{
this.qtdeRodas = qtdeRodas;
}
public int getQtdeRodas ()
{
return qtdeRodas;
}
// Set e Get Potencia do Motor
public void setPotenciaMotor (float potenciaMotor)
{
this.potenciaMotor = potenciaMotor;
}
public float getPotenciaMotor()
{
return potenciaMotor;
}
}
//Início Sub Classe Moto
class Moto extends MeiosDeTransporte
{
int tamanhoAro;
int cilindradas;
// Set e Get Tamanho Aro
public void setTamanhoAro (int tamanhoAro)
{
this.tamanhoAro = tamanhoAro;
}
public float getTamanhoAro()
{
return tamanhoAro;
}
// Set e Get Cilindradas
public void setCilindradas (int cilindradas)
{
this.cilindradas = cilindradas;
}
public float getCilindradas()
{
return cilindradas;
}
public Moto()//construtor padrão
{
}
public Moto (int tamanhoAro, int cilindradas, String marca, String modelo,
int anoFabricacao, int qtdeRodas, float potenciaMotor)
{
super (marca, modelo, anoFabricacao, qtdeRodas, potenciaMotor);
this.tamanhoAro = tamanhoAro;
this.cilindradas = cilindradas;
}
}
//Fim sub classe Moto
//Inicio sub classe Onibus
class Onibus extends MeiosDeTransporte // Sub Classe
{
int qtdePassageiros;
// Set e Get Qtde Passageiros
public void setQtdePassageiros (int qtdePassageiros)
{
this.qtdePassageiros = qtdePassageiros;
}
public int getQtdePassageiros()
{
return qtdePassageiros;
}
public Onibus()//construtor padrão
{
}
public Onibus (int qtdePassageiros, String marca, String modelo,
int anoFabricacao, int qtdeRodas, float potenciaMotor)
{
super (marca, modelo, anoFabricacao, qtdeRodas, potenciaMotor);
this.qtdePassageiros = qtdePassageiros;
}
}
//Fim sub classe Onibus
//Inicio sub classe Caminhao
class Caminhao extends MeiosDeTransporte // Sub Classe
{
float cilindradas;
int tara;
// Set e Get Cilindradas
public void setCilindradas (float cilindradas)
{
this.cilindradas = cilindradas;
}
public float getCilindradas()
{
return cilindradas;
}
// Set e Get Tara
public void setTara (int tara)
{
this.tara = tara;
}
public int getTara()
{
return tara;
}
public Caminhao()//construtor padrão
{
}
public Caminhao (float cilindradas, int tara, String marca, String modelo,
int anoFabricacao, int qtdeRodas, float potenciaMotor)
{
super (marca, modelo, anoFabricacao, qtdeRodas, potenciaMotor);
this.cilindradas = cilindradas;
this.tara = tara;
}
}
//Fim sub classe Caminhao
//Inicio sub classe Trem
class Trem extends MeiosDeTransporte // Sub Classe
{
int qtdeVagoes;
// Set e Get Qtde Vagoes
public void setQtdeVagoes (int qtdeVagoes)
{
this.qtdeVagoes = qtdeVagoes;
}
public int getQtdeVagoes()
{
return qtdeVagoes;
}
public Trem()//construtor padrão
{
}
public Trem (int qtdeVagoes, String marca, String modelo,
int anoFabricacao, int qtdeRodas, float potenciaMotor)
{
super (marca, modelo, anoFabricacao, qtdeRodas, potenciaMotor);
this.qtdeVagoes = qtdeVagoes;
}
}
//Fim sub classe Trem
//Inicio sub classe Aviao
class Aviao extends MeiosDeTransporte // Sub Classe
{
float propulsao;
float autonomia;
// Set e Get Propulsao
public void setPropulsao (float propulsao)
{
this.propulsao = propulsao;
}
public float getPropulsao()
{
return propulsao;
}
// Set e Get Autonomia
public void setAutonomia (float autonomia)
{
this.autonomia = autonomia;
}
public float getAutonomia()
{
return autonomia;
}
public Aviao()//construtor padrão
{
}
public Aviao (float propulsao, float autonomia, String marca, String modelo,
int anoFabricacao, int qtdeRodas, float potenciaMotor)
{
super (marca, modelo, anoFabricacao, qtdeRodas, potenciaMotor);
this.propulsao = propulsao;
this.autonomia = autonomia;
}
// Fim sub classe Aviao
}
import javax.swing.*;
public class CriaTransporte
{
public static void main (String arg[])
{
int qtd = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite a quantidade de Transportes que deseja cadastrar"));
Moto ListMoto [] = new Moto [qtd];
for (int i=0; i<qtd; i++)
{
// Super Classe
String marca = JOptionPane.showInputDialog(null,"Digite a marca");
String modelo = JOptionPane.showInputDialog(null,"Digite a modelo");
int anoFabricacao = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o ano de Fabricação"));
int qtdeRodas = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite a quantidade de Rodas"));
float potenciaMotor = Float.parseFloat(JOptionPane.showInputDialog(null, "Qual a potência do motor?"));
// Sub-classe
int tamanhoAro = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o tamnho do Aro"));
int cilindradas = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a cilindrada"));
// Super Classe
ListMoto[i] = new Moto();
ListMoto[i].setMarca(marca);
ListMoto[i].setModelo(modelo);
ListMoto[i].setAnoFabricacao(anoFabricacao);
ListMoto[i].setQtdeRodas(qtdeRodas);
ListMoto[i].setPotenciaMotor(potenciaMotor);
// Sub-classe
ListMoto[i].setTamanhoAro(tamanhoAro);
ListMoto[i].setCilindradas(cilindradas);
}
for (int i=0; i><qtd; i++)
{
JOptionPane.showMessageDialog(null,
" marca " + ListMoto[i].getMarca()+
" modelo " + ListMoto[i].getModelo()+
" foi fabricado no ano " + ListMoto[i].getAnoFabricacao()+
" nº de Rodas: " + ListMoto[i].getQtdeRodas()+
" Potencia do Motor: " + ListMoto[i].getPotenciaMotor()+
" Aro tamanho: " + ListMoto[i].getTamanhoAro() +
" Cilindradas: " + ListMoto[i].getCilindradas());
}
}
}
======================================================================
De acordo com o enunciado, eu estou na direção certa? Estou meio confuso de como vou fazer para imprimir o meio de transporte e seus atributos. Quem puder auxliar com dicas eu agradeço.
Obrigado pela atenção!
[ ]'s
>