Advertisement
fel486

Questão 3 - V1 2014.1

Mar 26th, 2015
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.43 KB | None | 0 0
  1. package primary;
  2.  
  3. public class Questao3 {
  4.    
  5.     public static void main(String[] args) {
  6.        
  7.         Onibus onibus = new Onibus("Ant Bezerra / Papicu", 28, 3);
  8.        
  9.         Passageiro p1 = new Passageiro("FeL 1", 486);
  10.         Estudante p2 = new Estudante("FeL 2", 487);
  11.         Idoso p3 = new Idoso("FeL 3", 488);
  12.        
  13.         System.out.println("Passageiro: R$ "+onibus.incluirPassageiro(p1));
  14.         System.out.println("Estudante: R$ "+onibus.incluirPassageiro(p2));
  15.         System.out.println("Idoso: R$ "+onibus.incluirPassageiro(p3));
  16.        
  17.         System.out.println("\nLucro do onibus: "+onibus.getSaldo()+"\n");
  18.        
  19.         onibus.exibirPassageiros();
  20.        
  21.     }
  22.    
  23.         static class Onibus
  24.         {
  25.             private double tarifa;
  26.             private String nome;
  27.             private int codigo;
  28.            
  29.             private double saldo = 0;
  30.            
  31.             public double getSaldo() {
  32.                 return saldo;
  33.             }
  34.  
  35.             public void setSaldo(double saldo) {
  36.                 this.saldo = saldo;
  37.             }
  38.             private Passageiro passageiros[] = new Passageiro[10];
  39.            
  40.             public Onibus(String nome, int codigo, int tarifa) {
  41.                
  42.                 this.nome = nome;
  43.                 this.codigo = codigo;
  44.                 this.tarifa = tarifa;
  45.             }
  46.            
  47.             public double incluirPassageiro(Passageiro p)
  48.             {
  49.                 for(int a = 0; a < this.passageiros.length; a++)
  50.                 {
  51.                     if(this.passageiros[a] == null)
  52.                     {
  53.                         this.passageiros[a] = p;
  54.                         p.setOnibusAtual(this);
  55.                         this.saldo += p.valorDaPassagem();                     
  56.                         return p.valorDaPassagem();
  57.                     }
  58.                 }
  59.                 return -1;
  60.             }
  61.            
  62.             public double getTarifa() {
  63.                 return tarifa;
  64.             }
  65.             public void setTarifa(double tarifa) {
  66.                 this.tarifa = tarifa;
  67.             }
  68.             public String getNome() {
  69.                 return nome;
  70.             }
  71.             public void setNome(String nome) {
  72.                 this.nome = nome;
  73.             }
  74.             public int getCodigo() {
  75.                 return codigo;
  76.             }
  77.             public void setCodigo(int codigo) {
  78.                 this.codigo = codigo;
  79.             }
  80.            
  81.             public void exibirPassageiros()
  82.             {
  83.                 System.out.println("Lista de passageiros presentes no onibus "+this.getNome()+" ("+this.getCodigo()+"): \n");
  84.                
  85.                 for(int a = 0; a < this.passageiros.length; a++)
  86.                 {
  87.                     if(this.passageiros[a] != null)
  88.                     {
  89.                         System.out.println("Passageiro: "+this.passageiros[a].getNome()+" | Codigo: "+this.passageiros[a].codigo+" | Tarifa: "+this.passageiros[a].valorDaPassagem());
  90.                     }
  91.                 }
  92.             }
  93.            
  94.         }
  95.    
  96.         static class Passageiro
  97.         {
  98.             private String nome;
  99.             private int codigo;
  100.            
  101.             private Onibus onibusAtual;
  102.            
  103.             public Passageiro(String nome, int codigo)
  104.             {
  105.                 this.nome = nome;
  106.                 this.codigo = codigo;
  107.             }
  108.    
  109.             public String getNome() {
  110.                 return nome;
  111.             }
  112.    
  113.             public void setNome(String nome) {
  114.                 this.nome = nome;
  115.             }
  116.    
  117.             public int getCodigo() {
  118.                 return codigo;
  119.             }
  120.    
  121.             public void setCodigo(int codigo) {
  122.                 this.codigo = codigo;
  123.             }
  124.            
  125.             public Onibus getOnibusAtual() {
  126.                 return onibusAtual;
  127.             }
  128.  
  129.             public void setOnibusAtual(Onibus onibusAtual) {
  130.                 this.onibusAtual = onibusAtual;
  131.             }
  132.  
  133.             public double valorDaPassagem()
  134.             {
  135.                 if(this instanceof Estudante) return this.onibusAtual.getTarifa() / 2;
  136.                    
  137.                 else if(this instanceof Idoso) return 0;
  138.                                
  139.                 return this.onibusAtual.getTarifa();
  140.             }
  141.            
  142.            
  143.         }
  144.    
  145.     static class Estudante extends Passageiro{
  146.  
  147.         public Estudante(String nome, int codigo) {
  148.             super(nome, codigo);
  149.            
  150.         }  
  151.        
  152.     }
  153.    
  154.     static class Idoso extends Passageiro
  155.     {
  156.  
  157.         public Idoso(String nome, int codigo) {
  158.             super(nome, codigo);
  159.            
  160.         }
  161.        
  162.     }
  163.  
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement