Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package primary;
- public class Questao3 {
- public static void main(String[] args) {
- Onibus onibus = new Onibus("Ant Bezerra / Papicu", 28, 3);
- Passageiro p1 = new Passageiro("FeL 1", 486);
- Estudante p2 = new Estudante("FeL 2", 487);
- Idoso p3 = new Idoso("FeL 3", 488);
- System.out.println("Passageiro: R$ "+onibus.incluirPassageiro(p1));
- System.out.println("Estudante: R$ "+onibus.incluirPassageiro(p2));
- System.out.println("Idoso: R$ "+onibus.incluirPassageiro(p3));
- System.out.println("\nLucro do onibus: "+onibus.getSaldo()+"\n");
- onibus.exibirPassageiros();
- }
- static class Onibus
- {
- private double tarifa;
- private String nome;
- private int codigo;
- private double saldo = 0;
- public double getSaldo() {
- return saldo;
- }
- public void setSaldo(double saldo) {
- this.saldo = saldo;
- }
- private Passageiro passageiros[] = new Passageiro[10];
- public Onibus(String nome, int codigo, int tarifa) {
- this.nome = nome;
- this.codigo = codigo;
- this.tarifa = tarifa;
- }
- public double incluirPassageiro(Passageiro p)
- {
- for(int a = 0; a < this.passageiros.length; a++)
- {
- if(this.passageiros[a] == null)
- {
- this.passageiros[a] = p;
- p.setOnibusAtual(this);
- this.saldo += p.valorDaPassagem();
- return p.valorDaPassagem();
- }
- }
- return -1;
- }
- public double getTarifa() {
- return tarifa;
- }
- public void setTarifa(double tarifa) {
- this.tarifa = tarifa;
- }
- public String getNome() {
- return nome;
- }
- public void setNome(String nome) {
- this.nome = nome;
- }
- public int getCodigo() {
- return codigo;
- }
- public void setCodigo(int codigo) {
- this.codigo = codigo;
- }
- public void exibirPassageiros()
- {
- System.out.println("Lista de passageiros presentes no onibus "+this.getNome()+" ("+this.getCodigo()+"): \n");
- for(int a = 0; a < this.passageiros.length; a++)
- {
- if(this.passageiros[a] != null)
- {
- System.out.println("Passageiro: "+this.passageiros[a].getNome()+" | Codigo: "+this.passageiros[a].codigo+" | Tarifa: "+this.passageiros[a].valorDaPassagem());
- }
- }
- }
- }
- static class Passageiro
- {
- private String nome;
- private int codigo;
- private Onibus onibusAtual;
- public Passageiro(String nome, int codigo)
- {
- this.nome = nome;
- this.codigo = codigo;
- }
- public String getNome() {
- return nome;
- }
- public void setNome(String nome) {
- this.nome = nome;
- }
- public int getCodigo() {
- return codigo;
- }
- public void setCodigo(int codigo) {
- this.codigo = codigo;
- }
- public Onibus getOnibusAtual() {
- return onibusAtual;
- }
- public void setOnibusAtual(Onibus onibusAtual) {
- this.onibusAtual = onibusAtual;
- }
- public double valorDaPassagem()
- {
- if(this instanceof Estudante) return this.onibusAtual.getTarifa() / 2;
- else if(this instanceof Idoso) return 0;
- return this.onibusAtual.getTarifa();
- }
- }
- static class Estudante extends Passageiro{
- public Estudante(String nome, int codigo) {
- super(nome, codigo);
- }
- }
- static class Idoso extends Passageiro
- {
- public Idoso(String nome, int codigo) {
- super(nome, codigo);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement