Exercico de Java da Faculdade

5 respostas
A

Olá amigos sou novo no forum, queria muito tirar essa duvida... meu professor fez um seguinte exercicio:

Crie uma superclasse veiculo com os atributos privados "capacidade de pessoas", "marca", "valor" e o metodo apresentarDados().
Crie as subclasses VeiculoTerrestre e VeiculoAereo com pelo menos um atributo diferente da superclasse. Sobrescreva o método apresentarDados.
Crie uma classe TesteVeiculos que pergunta para o usuário o que criar e leia os dados para colocar no objeto.

[color=red]Por favor me ajudem porque não sei se minha logica ta certa, e tbm sei que ta incompleto.[/color] :cry:

ENTÃO PRIMEIRO A SUPERCLASSE VEICULO:

public class Veiculo
{
	private int Capacidade; 
	private String Marca;
	private double Valor;
	
	public void setCapacidade(String n)
	{
		capacidade = n;
	}
	public void setMarca(String e)
	{
		marca = e;
	}
	public void setValor(String d)
	{
		valor = d;
	}
	
	public int getCapacidade() { return capacidade; }
	public String getMarca() { return marca; }
	public float getValor() { return valor; }	
	
	public void apresentarDados()
	{
	System.out.println("O Carro tem capacidade para"+getCapacidade()+", pessoas, a marca eh "+getMarca()+" e o valor custa "+getValor());
		
	}
}

SEGUNDO A SUBCLASSE VEICULOTERRESTRE

public class VeiculoTerrestre extends Veiculo
{
	private String Cor;
		
		public void setCor(double d)
		{
			cordocarro = d;		
		}
		
		public void apresentarDados()
		{
			super.apresentarDados();
			System.out.printf("Cor do carro: "+Cor+");
		
		}
	
}

TERCEIRA A SUBCLASSE VEICULO AEREO

public class VeiculoAereo extends Veiculo
{
	private float Altura;
		
		public void setAltura(float e)
		{
			alturacarro = e;		
		}
		
		public void apresentarDados()
		{
			super.apresentarDados();
			System.out.printf("Cor do carro: "+Cor+");
		
		}
	
}

[color=darkred]Agora falta a classe main TesteVeiculo que eu to sem a minima noção pra fazer, alguem me ajuda? vlw[/color]

5 Respostas

difosal

class TesteVeiculos{ public static void main(String[] args) { int tipo = Integer.parseInt(JOptionPane.showInputDialog(null, "Qual tipo do veiculo 1.terrestre 2.aereo")); if(tipo == 1){ VeiculoTerrestre veiculoTerrestre = new VeiculoTerrestre(); //le os dados e preenche os dados do veiculo terrestre }else if(tipo == 2){ VeiculoAereo veiculoAereo = new VeiculoAereo(); //le os dados e preenche os dados do veiculo aereo } } }

A

E pra mim acrescentar os atributos diferentes nas duas subclasses :shock: ??

Rodrigo_Sasaki

use os metodos getter e setter das suas propriedades

ViniGodoy

Por favor, ao criar tópicos, não marque-os com palavras inúteis como [Ajuda], [Dúvida], [Socorro] ou [Urgente].

Deixe as tags para marcar com palavras úteis [Resolvido]

silver00

Albachega cuidado no uso dos seus Getters e Settes pois estão com erros, preste atenção que os dados que chegam nos sets tem que ser do mesmo tipo dos atributos em questão, tente usar o auto gerador de seu compilador. No caso do eclipse em Source>Generate Getters and Setters, isso evita erros na hora de cria-los. Segue as classes funcionando, porém creio esse uso de herança esta sendo bem desnecessário pois tanto veículo aéreo quanto terrestre possuem cor e altura, tente colocar atribulos mais significativos como tamanho da asa ou quantidadeMarcha.

import javax.swing.JOptionPane;

public class Veiculo {
	
	    private int Capacidade;   
	    private String Marca;  
	    private double Valor;  
	      
	    public void setCapacidade(int n)  
	    {  
	        Capacidade = n;  
	    }  
	    public void setMarca(String e)  
	    {  
	        Marca = e;  
	    }  
	    public void setValor(Double d)  
	    {  
	        Valor = d;  
	    }  
	      
	    public int getCapacidade() { return Capacidade; }  
	    public String getMarca() { return Marca; }  
	    public Double getValor() { return Valor; }     
	      
	    public void apresentarDados()  
	    {  
	    	JOptionPane.showMessageDialog(null, "O Carro tem capacidade para"+getCapacidade()+", pessoas, a marca eh "+getMarca()+" e o valor custa "+getValor());          
	    }  
}
import javax.swing.JOptionPane;

public class VeiculoTerrestre extends Veiculo{
	
	private String Cor;  
    
    public void setCor(String d)  
    {  
        Cor = d;       
    }  
      
    public void apresentarDados()  
    {  
        super.apresentarDados();  
        JOptionPane.showMessageDialog(null, "Cor do carro: "+ Cor+"");        
    }  
}
import javax.swing.JOptionPane;

public class VeiculoAereo extends Veiculo{
	
	private float Altura;  
    
    public void setAltura(float e)  
    {  
        Altura = e;          
    }  
      
    public void apresentarDados()  
    {  
        super.apresentarDados();  
        JOptionPane.showMessageDialog(null, "Altura do Veiculo: "+Altura+"");        
    }  
}
import javax.swing.JOptionPane;

public class TesteVeiculo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		
		 int tipo = Integer.parseInt(JOptionPane.showInputDialog(null, "Qual tipo do veiculo 1.terrestre 2.aereo"));  
	        if(tipo == 1){    
	            VeiculoTerrestre veiculoTerrestre = new VeiculoTerrestre();  
	            
	            veiculoTerrestre.setMarca(JOptionPane.showInputDialog(null, "Marca"));
	            veiculoTerrestre.setValor(Double.parseDouble(JOptionPane.showInputDialog(null, "Valor")));
	            veiculoTerrestre.setCor((JOptionPane.showInputDialog(null, "Cor")));
	            veiculoTerrestre.setCapacidade(Integer.parseInt(JOptionPane.showInputDialog(null, "Capacidade")));
	            
	            veiculoTerrestre.apresentarDados();  
	            //le os dados e preenche os dados do veiculo terrestre  
	        }else if(tipo == 2){      
	            VeiculoAereo veiculoAereo = new VeiculoAereo(); 
	            
	            veiculoAereo.setMarca(JOptionPane.showInputDialog(null, "Marca"));
	            veiculoAereo.setValor(Double.parseDouble(JOptionPane.showInputDialog(null, "Valor")));
	            veiculoAereo.setAltura(Float.parseFloat(JOptionPane.showInputDialog(null, "Altura")));	           
	            veiculoAereo.setCapacidade(Integer.parseInt(JOptionPane.showInputDialog(null, "Capacidade")));
    
                    veiculoAereo.apresentarDados();   
	            //le os dados e preenche os dados do veiculo aereo  
	        }  
	    } 
}
Criado 2 de abril de 2012
Ultima resposta 2 de abr. de 2012
Respostas 5
Participantes 5