Logo Passei Direto
Buscar

Classes Transporte, Avião e Navio

Ferramentas de estudo

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Arquivos Fonte
Transporte
import java.util.InputMismatchException;
import java.util.Scanner;
public class Transporte {
 protected int capacidadeTanque;
 protected int numeroPassageiros;
 protected double preco;
 // Construtor vazio
 public Transporte() {}
 // Construtor completo
 public Transporte(int capacidadeTanque, int numeroPassageiros, double preco) {
 this.capacidadeTanque = capacidadeTanque;
 this.numeroPassageiros = numeroPassageiros;
 this.preco = preco;
 }
 // Getters e Setters
 public int getCapacidadeTanque() { return capacidadeTanque; }
 public void setCapacidadeTanque(int capacidadeTanque) { this.capacidadeTanque = capacidadeTanque; }
 public int getNumeroPassageiros() { return numeroPassageiros; }
 public void setNumeroPassageiros(int numeroPassageiros) { this.numeroPassageiros = numeroPassageiros; }
 public double getPreco() { return preco; }
 public void setPreco(double preco) { this.preco = preco; }
 // Entrada de dados com tratamento de exceções
 public void entrada() {
 Scanner sc = new Scanner(System.in);
 try {
 System.out.print("Capacidade do tanque: ");
 this.capacidadeTanque = sc.nextInt();
 System.out.print("Número de passageiros: ");
 this.numeroPassageiros = sc.nextInt();
 System.out.print("Preço: ");
 this.preco = sc.nextDouble();
 } catch (InputMismatchException e) {
 System.out.println("Erro: valor inválido. Tente novamente.");
 sc.nextLine(); // limpar buffer
 entrada(); // tenta novamente
 }
 }
 public void imprimir() {
 System.out.println("Capacidade do tanque: " + capacidadeTanque);
 System.out.println("Número de passageiros: " + numeroPassageiros);
 System.out.println("Preço: " + preco);
 }
}
Aviao
public class Aviao extends Transporte {
 private String prefixo;
 private String dataRevisao;
 // Construtor vazio
 public Aviao() { super(); }
 // Construtor completo
 public Aviao(String prefixo, int capacidadeTanque, int numeroPassageiros, double preco, String dataRevisao) {
 super(capacidadeTanque, numeroPassageiros, preco);
 this.prefixo = prefixo;
 this.dataRevisao = dataRevisao;
 }
 public String getPrefixo() { return prefixo; }
 public void setPrefixo(String prefixo) { this.prefixo = prefixo; }
 public String getDataRevisao() { return dataRevisao; }
 public void setDataRevisao(String dataRevisao) { this.dataRevisao = dataRevisao; }
 @Override
 public void imprimir() {
 System.out.println("\n--- Dados do Avião ---");
 super.imprimir();
 System.out.println("Prefixo: " + prefixo);
 System.out.println("Data de revisão: " + dataRevisao);
 }
 public void reajustarPreco(double percentual) {
 this.preco += this.preco * (percentual / 100);
 }
 @Override
 public void entrada() {
 super.entrada();
 java.util.Scanner sc = new java.util.Scanner(System.in);
 System.out.print("Prefixo: ");
 this.prefixo = sc.nextLine();
 System.out.print("Data da revisão: ");
 this.dataRevisao = sc.nextLine();
 }
}
 Navio
public class Navio extends Transporte {
 private String nome;
 private int numeroTripulantes;
 private String dataLancamento;
 // Construtores
 public Navio() { super(); }
 public Navio(String nome) { this.nome = nome; }
 public Navio(String nome, int numeroTripulantes) {
 this.nome = nome;
 this.numeroTripulantes = numeroTripulantes;
 }
 public Navio(String nome, int capacidadeTanque, int numeroPassageiros, double preco) {
 super(capacidadeTanque, numeroPassageiros, preco);
 this.nome = nome;
 }
 public Navio(String nome, int capacidadeTanque, int numeroPassageiros, double preco, int numeroTripulantes, String dataLancamento) {
 super(capacidadeTanque, numeroPassageiros, preco);
 this.nome = nome;
 this.numeroTripulantes = numeroTripulantes;
 this.dataLancamento = dataLancamento;
 }
 public String getNome() { return nome; }
 public void setNome(String nome) { this.nome = nome; }
 public int getNumeroTripulantes() { return numeroTripulantes; }
 public void setNumeroTripulantes(int numeroTripulantes) { this.numeroTripulantes = numeroTripulantes; }
 public String getDataLancamento() { return dataLancamento; }
 public void setDataLancamento(String dataLancamento) { this.dataLancamento = dataLancamento; }
 @Override
 public void imprimir() {
 System.out.println("\n--- Dados do Navio ---");
 super.imprimir();
 System.out.println("Nome: " + nome);
 System.out.println("Número de tripulantes: " + numeroTripulantes);
 System.out.println("Data de lançamento: " + dataLancamento);
 }
 public double passageirosPorTripulantes() {
 if (numeroTripulantes == 0) return 0;
 return (double) numeroPassageiros / numeroTripulantes;
 }
 @Override
 public void entrada() {
 super.entrada();
 java.util.Scanner sc = new java.util.Scanner(System.in);
 System.out.print("Nome do navio: ");
 this.nome = sc.nextLine();
 System.out.print("Número de tripulantes: ");
 this.numeroTripulantes = sc.nextInt();
 sc.nextLine(); // limpar buffer
 System.out.print("Data de lançamento: ");
 this.dataLancamento = sc.nextLine();
 }
}
App
public class App {
 public static void main(String[] args) {
 Aviao[] avioes = new Aviao[10];
 Navio[] navios = new Navio[10];
 System.out.println("===== Cadastro de 10 Aviões =====");
 for (int i = 0; i

Mais conteúdos dessa disciplina