METODOS E Classes

2 respostas
E

[b]Bom Desde ja queria agradecer a vc so por estar lendo ta..!!

o negocio é o seguinte to com estas duvidas nos meus codigos ...
METODOS E CLASSE

vou coloca o que eu quero fazer e o que ja fiz .....

ai se poderem me ajudar , falando onde to ERRANDO .. Agradeço .. faloo

[b]
* Cria uma classe meios de transporte com os seguintes atributos :
marca, modelo , ano de fabricação, potência de motor,
quantidade de rodas..
* crie as seguintes subClasses de meios de transporte .
moto com os atributos :
tamanho do Aro e cilindros.
Ônibus com o atributo:
quantidade de passageiros.
caminhao :
tara:
quantidade de eixos
trem:
quantidade de vagoes.
Avião:
tipo de propulsão.
autonomia.
......................................................
Haaaaa ...todos atributos deverão ser PRIVATIVOS. cada classe deverar ter pelo , menos construtores.
- devera permitir ao usuario escolher o tipo de meio de transporte que deseja criar e a quantidade de cada um . o programa deverar a inda exibir os valores atribuidos e atraves de
uma variavel ESTATICA informa quantos meios de transporte foram criados.
- o programa deverá verificar se o usuario deseja cadastrar mais
meios de transporte e em caso negativo sera encerado.

haa so nao fiz a 2 ultimas partes mas isto vou tentar podeis ..
.....se conseguindo resolver estes problemas 1° ...
que pra mim ta dificil....

entendeu ........
o usuario vai da o nome do transporte , ai se for algum dos q tem
aparece a mensagem para ele cadastrar a quantidade ...

facil neeee..rsrsr ....... pra vcs que ja manja ..rsrsrs ..................................................................................
import javax.swing. *;
public  class CriaTransporte{
    private String marca;
    private String modelo;
    private int anoDeFabricação;
    private String potenciaDeMotor;
    private int qtdDeRodas;
public CriaTransporte(){
  //   this ("", "", "", "", ""); }
 public CriaTransporte(String marca, String modelo, int anoDeFabricação, String potenciaDeMotor, int qtdDeRodas){
    this.marca = marca;
    this.modelo = modelo;
    this.anoDeFabricação = anoDeFabricação;
    this.potenciaDeMotor = potenciaDeMotor;
    this.qtdDeRodas = qtdDeRodas; }
    public String getmarca(){// metodo de leitura 
        return marca;    }
    public void setmarca(String m){ //metodo de modificação
        this.marca = m;    }    
    public String getmodelo(){// metodo de leitura 
        return modelo;    }
    public void setmodelo(String mode){//metodo de modificação
        this.modelo = mode;    }    
    public int getanoDeFabricação(){// metodo de leitura 
        return anoDeFabricação;    }
    public void setanoDeFabricação(int anoFabri){//metodo de modificação
        this.anoDeFabricação = anoFabri;    }    
    public String getpontecia(){// metodo de leitura 
        return potenciaDeMotor;    }
    public void setpotenciaDeMotor(String poten){ //metodo de modificação
        this.potenciaDeMotor = poten;   }    
    public int getqtdDeRodas (){// metodo de leitura 
        return qtdDeRodas;            }
    public void setqtdDeRodas(int qtd){ //metodo de modificação
        this.qtdDeRodas = qtd;      }
    
    public void Dados(){
        System.out.println("\n Dados dos Transportes");
        System.out.println("\n Marca: "             +this.getmarca() +
                              "Modelo: "            +this.getmodelo()+
                              "Ano de Fabrica: "    +this.getanoDeFabricação()+
                              "Potencia do Motor: +"+this.getpontecia()+
                              "Qtd Rodas: "         +this.getqtdDeRodas());    }
   
   public static void main(String args[]){
	   String m = "Moto";
	   String o = "Onibus";
	   String t = "Trem";
	   String a = "Aviao";
	   String c = "caminhao";   }
    JOptionPane jp =new JOptionPane();// objeto JOption
            CriaTransporte t =new CriaTransporte();
                  String tipo = jp.showInputDialog(null,"Qual O Transporte");
      
      if (tipo.equalsIgnoreCase(m)){
        Moto();
        return Moto;      }      
      if (tipo.equalsIgnoreCase(o)){
        Onibus();
        return Onibus;      }
      if (tipo.equalsIgnoreCase(c)){
        Caminhao();
        return Caminhao;      }
      if (tipo.equalsIgnoreCase(t)){
        Trem();
        return Trem;      }
      if (tipo.equalsIgnoreCase(a)){
        Aviao();
        return Aviao; }else{
      (jp.showMessageDialog(null,"digite um Transporte Valido!!!"));     }        
        int qtd = Integer.parseInt(jp.showInputDialog(null,"digite a quantidade de transporte a cadastrar"));
       CriaTransporte novo [] = new CriaTransporte[qtd];
        for (int i = 0; i< novo.length; i++){
          
      novo[i]= new CriaTransporte();
      novo[i].setmarca                           (jp.showInputDialog(null,"digite a marca"));
      novo[i].setmodelo                          (jp.showInputDialog(null,"digite a modelo"));
      novo[i].setanoDeFabricação(Integer.parseInt(jp.showInputDialog(null,"QUAL O ANO de FABRICAÇÂO")));
      novo[i].setpotenciaDeMotor                 (jp.showInputDialog(null,"Qual A Potencia do MOTOR"));
      novo[i].setqtdDeRodas     (Integer.parseInt(jp.showInputDialog(null,"Qual a Quantidade de Rodas")));    
   /*   
jp.showMessageDialog(null,   "\n VOCE cadastrou "+qtd
                            +"\n Do transporte: " +tipo
                            +"\n Da Marca " +novo[i].getmarca()
                            +"\n do MODELO " +novo[i].getmodelo()
                            +"\n Fabricado em " +novo[i].getanoDeFabricação()
                            +"\n POTENCIA DO MOTOR "+novo[i].getpontecia()
                            +"\n Com " + novo[i].getqtdDeRodas()+" Rodas");
       */   }
===========================================
public class Aviao extends CriaTransporte{
    private String tPro;
    private String autonomia;   
public Aviao(){
         //this ("", "", "", "", "", "");}
public Aviao(String marca, String modelo, int anoDeFabricação, String potenciaDeMotor, int qtdDeRodas, int tara, String tPro, String autonomia){
        super(marca, modelo, anoDeFabricação, potenciaDeMotor, qtdDeRodas);
   this.tPro = tPro;
    this.autonomia = autonomia;    }
public void settPro(String tPro){
    this.tPro = tPro;}
public String gettPro(){
    return tPro;}
public void setautonomia(String autonomia){
    this.autonomia = autonomia;}
public String getqtautonomia(){
    return autonomia;}
public void Dados(){
    super.Dados();
    System.out.println("autonomia: "+getqtautonomia());
    System.out.println("PRO: "+gettPro());}}

==========================================

public class Caminhao extends CriaTransporte{
    private int tara;
    private String qtdEixo;   
public Caminhao(){
       //  this ("", "", "", "", "", "", "", "");}
public Caminhao(String marca, String modelo, int anoDeFabricação, 
                String potenciaDeMotor, int qtdDeRodas, int tara, 
                String qtdEixo){        
    super(marca, modelo, anoDeFabricação, potenciaDeMotor, qtdDeRodas);
        this.tara = tara;
        this.qtdEixo = qtdEixo;     }
public void settara(int tara){
    this.tara = tara;}
public int gettara(){
    return tara;}
public void setqtdEixo(String qtdEixo){
    this.qtdEixo = qtdEixo;}
public String getqtdEixo(){
    return qtdEixo;}
public void Dados(){
    super.Dados();
    System.out.println("TAra: "+gettara());
    System.out.println("Eixo: "+getqtdEixo());}}
-------------------------------------------------------------------------

bom é ate que eu cheguei em , ,,,

haa tem as outras classes .. mas nem coloquei so falando q tem de errado ai ja basta pra mim ...

entao se poderem me ajuda fico agradecido ....... ou me indica algo pra estuda ne .. ai fico mais a inda .. valeuuu

2 Respostas

BrunoBastosPJ

Eu acho que seu problema é com o Factory que você está criando… Vou fazer um be abstrato aqui e ve se você consegue entender.

private static final String MOTO = "MOTO";
private static final String ONIBUS = "ONIBUS";
...

public MeioDeTransporte getMeioDeTransporte(String type) {
  if(type.equalsIgnoreCasa(MOTO)) {
    return new Moto();
   } else if (type.equalsIgnoreCasa(ONIBUS)) {
    return new Onibus();
   }
   return null;
}

Qualquer dúvida posta aqui!

Valeu

E

Cara eu sou meio leigo .rsrsrs

mas so novato a inda oo..
eu nao emtendi oque se coloco ,
oque vai ser feito .....
........................

oo fiz algumas modificações .....mas tem erros a inda .. rsrs
vo manda o codigos e oque eu quero e as duvidas .
se conseguir me ajuda ..
agradeço...

[code]
[code]import javax.swing. *;
public class CriaTransporte{ // Class CriaTransporte
// Atributos Privados
private String marca;
private String modelo;
private int anoDeFabricação;
private String potenciaDeMotor;
private int qtdDeRodas;
/* um metodo da class .......
*uma duvida ...coloquei mas nao sei o motivo ...
*e nem pra que ele esta sendo util pra mim sendo q
*abri e fechei as chaves sem coloca nada....
*/
public CriaTransporte(){
// this ("", "", "", "", "");
}
/*dinovo o metodo da class .mas este . recupera os valores dos metodos de LEITURA (get)
*e MODIFICAÇÂO (set)....
* e os atribui as Variaveis privativas */
public CriaTransporte(String marca, String modelo, int anoDeFabricação, String potenciaDeMotor, int qtdDeRodas){

// this ...pra ter certeza que ta atribuindo as variaveis q ta recebendo
// para as variaveis privativas ..
this.marca = marca;
this.modelo = modelo;
this.anoDeFabricação = anoDeFabricação;
this.potenciaDeMotor = potenciaDeMotor;
this.qtdDeRodas = qtdDeRodas;

}
// metodo de leitura
public String getmarca(){
return marca;
}
//metodo de modificação
public void setmarca(String m){
this.marca = m;
}
// metodo de leitura utilizado por q as variaveis sao privativas
public String getmodelo(){
return modelo;
}
//metodo de modificação
public void setmodelo(String mode){
this.modelo = mode;
}
// metodo de leitura utilizado por q as variaveis sao privativas
public int getanoDeFabricação(){
return anoDeFabricação;
}
//metodo de modificação
public void setanoDeFabricação(int anoFabri){
this.anoDeFabricação = anoFabri;
}
// metodo de leitura utilizado por q as variaveis sao privativas
public String getpontecia(){
return potenciaDeMotor;
}
//metodo de modificação
public void setpotenciaDeMotor(String poten){
this.potenciaDeMotor = poten;
}
// metodo de leitura utilizado por q as variaveis sao privativas
public int getqtdDeRodas (){
return qtdDeRodas;
}
//metodo de modificação
public void setqtdDeRodas(int qtd){
this.qtdDeRodas = qtd;
}

/* METODO mostraDados ......aqui vai mostra tds os dados recebidos
*pelas variaveis privativas , criei este OBJETO para facilita
*, para nao ter que fica sempre escrevendo ..
*por que tenho que mostra estes dados em todas as classes ..
*e fora os outros ja das classes */
public void mostrarDados(){
System.out.println("\n Dados dos Transportes");
System.out.println("\n Marca: " +this.getmarca() +
"Modelo: " +this.getmodelo()+
"Ano de Fabrica: " +this.getanoDeFabricação()+
"Potencia do Motor: +"+this.getpontecia()+
"Qtd Rodas: " +this.getqtdDeRodas());
}

/* METODO qtd ...aqui vai ter em todas as subClass...
* aqui vai pedir ao usuario a quantidade de transportes
* e que ele informe os dados
*que ele quer cadastra , .....
*/
public void qtd(){
int qtd = Integer.parseInt(JOptionPane.showInputDialog(null,"digite a quantidade de transporte a cadastrar"));
CriaTransporte novo [] = new CriaTransporte[qtd];// OBJETO da class CriaTransporte , mas criando vetor
for (int i = 0; i< novo.length; i++){
//atribuindo os valores das variaveis privativas a o vetor
novo[i]= new CriaTransporte();
novo[i].setmarca (JOptionPane.showInputDialog(null,"digite a marca"));
novo[i].setmodelo (JOptionPane.showInputDialog(null,"digite a modelo"));
novo[i].setanoDeFabricação(Integer.parseInt(JOptionPane.showInputDialog(null,"QUAL O ANO de FABRICAÇÂO")));
novo[i].setpotenciaDeMotor (JOptionPane.showInputDialog(null,"Qual A Potencia do MOTOR"));
novo[i].setqtdDeRodas (Integer.parseInt(JOptionPane.showInputDialog(null,"Qual a Quantidade de Rodas")));
}}

public static void main(String args[]){
/*variaveis de comparação
*se o transporte digitado igual a algum aqui
*/
String m = "Moto";
String o = "Onibus";
String t = "Trem";
String a = "Aviao";
String c = "caminhao";

// objeto da class CriaTransporte...
CriaTransporte trans =new CriaTransporte();
// objeto da class Moto
Moto moto = new Moto();
//objeto da class Onibus
Onibus onibus = new Onibus();
//Objeto da class Caminhao
Caminhao caminhao = new Caminhao();
//objeto da class Aviao
Aviao aviao = new Aviao();
//pbjeto da trem
Trem trem = new Trem();
/* usuario deve digita o transporte
*caso igual a algum deste decritos
* ai vai para o METODO qtd ..(para que pessa a quantidade
*de transporte ele quer cadastrar , e ele cadastre os valores)
*/
String tipo = JOptionPane.showInputDialog(null,"Qual O Transporte");
// se oq digitado igual a m(q é moto )
// faça vai ate o metodo qtd e apos tds os valores
// preenchidos vai jogas os valores para os respequitivos lugares
// e retorna os valores
//Aqui que ta um dos meus maiores problemas , como faço
if (tipo.equalsIgnoreCase(m)){
this.qtd();
moto.Moto();
return moto.Moto();
}
if (tipo.equalsIgnoreCase(o)){
this.qtd();
Onibus();
return Onibus();
}
if (tipo.equalsIgnoreCase(c)){
this.qtd();
Caminhao();
return Caminhao();
}
if (tipo.equalsIgnoreCase(t)){
this.qtd();
Trem();
return Trem();
}
if (tipo.equalsIgnoreCase(a)){
this.qtd();
Aviao();
return Aviao();
}else{
JOptionPane.showMessageDialog(null,"digite um Transporte Valido!!!");
} }} [/code]

[code]// to disendo que a class caminhao e subclass de CriaTransporte
public class Caminhao extends CriaTransporte{
private int tara;
private String qtdEixo;

public Caminhao(){
// this ("", "", "", "", "", "", "", "");
}
public Caminhao(String marca, String modelo, int anoDeFabricação,
String potenciaDeMotor, int qtdDeRodas, int tara,
String qtdEixo){
// se referindo as variaveis da superclass
super(marca, modelo, anoDeFabricação, potenciaDeMotor, qtdDeRodas);
this.tara = tara;
this.qtdEixo = qtdEixo;
}
public void settara(int tara){
this.tara = tara;
}
public int gettara(){
return tara;
}
public void setqtdEixo(String qtdEixo){
this.qtdEixo = qtdEixo;
}
public String getqtdEixo(){
return qtdEixo;
}
public void mostrarDados(){
super.mostrarDados();
System.out.println("TAra: "+gettara());
System.out.println("Eixo: "+getqtdEixo());
}

}

[/code]
[code]
public class Aviao extends CriaTransporte{
private String tPro;
private String autonomia;

public Aviao(){
//this ("", "", "", "", "", "");
}
public Aviao(String marca, String modelo, int anoDeFabricação, String potenciaDeMotor, int qtdDeRodas, int tara, String tPro, String autonomia){
super(marca, modelo, anoDeFabricação, potenciaDeMotor, qtdDeRodas);
this.tPro = tPro;
this.autonomia = autonomia;
}
public void settPro(String tPro){
this.tPro = tPro;
}
public String gettPro(){
return tPro;
}
public void setautonomia(String autonomia){
this.autonomia = autonomia;
}
public String getqtautonomia(){
return autonomia;
}
public void Dados(){
super.mostrarDados();
System.out.println("autonomia: "+getqtautonomia());
System.out.println("PRO: "+gettPro());

}}

[/code]

bom ta ai ...

muito agradecido mesmo em .......por esta ajudando
valeu

Criado 29 de agosto de 2007
Ultima resposta 30 de ago. de 2007
Respostas 2
Participantes 2