METODOS E Classes

4 respostas
E

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

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..
* 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

4 Respostas

henry.everton

srsrr... cara sou novato tb... mas seguinte.. faz uma coisa pra melhorar a sua vida ai em java...
Seu código está parecendo código estruturado.... divide isso em classes (arquivos) e coloca a classe main separada.... ai você compila arquivo por arquivo.. que voce vai encontrar o erro.....

eu achei alguns já mas não tive tempo de consertar pra vc.... faça o seguinte.

** dividi tudo em classes separadas pra ficar melhor e posta o arquivo mesmo que eu pego aqui e vejo pra ti
** de uma olhada no código, tem erros bestinhas como jp.showMessageDialog que esta na linha 79 eu acho... mas da uma olhada...
** e faz o seguinte tb ma melhorar pra vc.... não importa o quanto de linhas de seu código... manda tudo com comentários e com uns espações sabe... tipo esse que vou ti mostrar agora.

import javax.swing.JOptionPane;

public class Tabuleiro {

		public void Tabuleiro(String jog1,String jog2,String iden1,String iden2){
			int cont1=11,cont2=11,comp,comeca=0,novamente=0;
			String rec=" ";
			boolean vencedor=false,jogo=true;
			String posicao[];
			posicao=new String[cont1];
			ImprimeTab ImprimeTabuleiro;
			ImprimeTabuleiro= new ImprimeTab();
		
				while(jogo==true){
					
	/*#######################################################################################################
  	#                                                                                                       #
  	#   for que preenche todas as posicoes do vetor com espaço "  " através do parametro cont2.             #
  	#                                                                                                       #
  	#######################################################################################################*/		
						
					for (cont2=1;cont2<10;cont2++){
							posicao[cont2]="  ";
						}
					
	/*#######################################################################################################
  	#                                                                                                       #
  	#   Metodo random que atribui o valor para o parametro comeca. O parametro será utilizado para definir  #
  	#qual jogador ira comecar e como comparacao, para selecionar qual jogador irá jogar.                    #                                        #
	#                                                                                                       #  
  	#######################################################################################################*/		
	
				comeca=(int)(Math.random()*2);
			
	/*########################################################################################################
	#                                                                                                        #
	#   for que fará o controle de jogadas com o parametro cont1.                                            #
	#                                                                                                        #
	########################################################################################################*/		

				for(cont1=1;cont1<10;cont1++){
					
	/*########################################################################################################
	#                                     																	 #
	#   if irá comparar o se a diferenca de cont1 é igual ao valor do parametro comeca, se for igual ele ira #
	#executar este bloco.                           														 #
	#                                     																	 #
	########################################################################################################*/		
					
					if(cont1%2==comeca){
						
	/*########################################################################################################
	#                                     		TABULEIRO                           						 #	
	#   O parametro rec irá receber o valor em string digitado;                                              #
	# 	Caso o rec!=null o mesmo sera convertido para inteiro atraves do metodo parseInt e sera atribuido ao #
	#parametro comp;																						 #
	#	if condicao falsa, imprime mensagem e subtrai uma posicao, assim o cont1 é nulo solicitando a posicao#
	#ao mesmo jogador1 novamente.                                                                            #
	#                                     																	 #	
	########################################################################################################*/		
					
						rec = JOptionPane.showInputDialog(null,""+jog1.toUpperCase()+"\n Digite a posição desejada no Tabuleiro\n\n           ==========================\n          |         1        |         2         |         3        |\n           ==========================\n          |         4        |         5         |         6        |\n           ==========================\n          |         7        |         8         |         9        |\n           ========================== \n\n","Tabuleiro",JOptionPane.PLAIN_MESSAGE);
						
						if(rec==null){
							JOptionPane.showMessageDialog(null,"******     ******      JOGO ENCERRADO      ******     ******     ","Jogo Encerrado",JOptionPane.INFORMATION_MESSAGE);
						}
						comp=Integer.parseInt(rec);
	
						if(comp<1 || comp>9){
							JOptionPane.showMessageDialog(null,"******     ******      JOGADA INVÁLIDA      ******     ******     \n\n         Digite uma posição válida do Tabuleiro.","Posição Inválida",JOptionPane.ERROR_MESSAGE);
							cont1--;
						}
						
	/*########################################################################################################
	#                                     																	 #
	#   if parametro comp valido: Verifica se posicao[comp]=="  ", caso verdadeiro posicao[comp] ira receber #
	#o parametro iden1 e entra no bloco;																	 #                                                                                              #
	#	else imprime mensagem.                                                                               #
	#                                     																	 #
	########################################################################################################*/											
						
						else if(posicao[comp]=="  "){
							posicao[comp]=iden1;
	
	/*########################################################################################################
	#                                     																	 #
	#   if verifica posibilidades do jogador1 ser vencedor:                                                  #
	#   Caso true: chama o objeto ImprimeTabuleiro.imprimeVencedor e passa os parametros posicao que contem a#
	#posicao solicitada e jog1 que contem o identificador do jogador1. O parametro vencedor recebe true, pa- #
	#ra indicar que houve vencedor.O parametro jogo recebe false para encerrar o jogo.                       #
	#	Caso false: O parametro vencedor recebe false, nao saindo do looping do jogo. O parametro jogo recebe#
	#true para continuar no jogo. Imprime o tabuleiro chamando o objeto ImprimeTabuleiro.imprimePosicao pas- #
	#sando como parametro posicao que contem o identificador do jogador1                                     #
	#                                     																	 #	
	########################################################################################################*/	
							
								if(posicao[1]==iden1 && posicao[4]==iden1 && posicao[7]==iden1 || posicao[2]==iden1 && posicao[5]==iden1 && posicao[8]==iden1 || posicao[3]==iden1 && posicao[6]==iden1 && posicao[9]==iden1 || posicao[1]==iden1 && posicao[2]==iden1 && posicao[3]==iden1 || posicao[4]==iden1 && posicao[5]==iden1 && posicao[6]==iden1 || posicao[7]==iden1 && posicao[8]==iden1 && posicao[9]==iden1 || posicao[1]==iden1 && posicao[5]==iden1 && posicao[9]==iden1 || posicao[3]==iden1 && posicao[5]==iden1 && posicao[7]==iden1){
									ImprimeTabuleiro.imprimeVencedor(posicao,jog1);
									vencedor=true;
									jogo=false;
									break;}
								else{		
									vencedor=false;
									jogo=true;
								}
						ImprimeTabuleiro.imprimePosicao(posicao);
					}
	
					else{
							JOptionPane.showMessageDialog(null,"***   Esta posição já está preenchida!   ***\n\n       Escolha outra posição para jogar.","JOGADA INVÁLIDA",JOptionPane.INFORMATION_MESSAGE);
							cont1--;
				}
			}
					
	/*########################################################################################################
	#                                                                                                        #
	#   Segue a mesma logica do TABULEIRO - Onde a diferenca é que o vetor posicao[comp] ira receber o iden2 #
	#que contem o identificador do jogador2 e o jog2 que contem o nome do jogador2.                          #
	#                                                                                                        #
	########################################################################################################*/				
				
				else if(cont1%2!=comeca){
					rec = JOptionPane.showInputDialog(null,""+jog2.toUpperCase()+"\n Digite a posição desejada no Tabuleiro\n\n           ==========================\n          |         1        |         2         |         3        |\n           ==========================\n          |         4        |         5         |         6        |\n           ==========================\n          |         7        |         8         |         9        |\n           ========================== \n","Tabuleiro",JOptionPane.PLAIN_MESSAGE);
				
				if(rec==null){
						JOptionPane.showMessageDialog(null,"******     ******      JOGO ENCERRADO      ******     ******     ");
						}
				comp=Integer.parseInt(rec);
				
					if(comp<1 || comp>9){
						JOptionPane.showMessageDialog(null,"******     ******      JOGADA INVÁLIDA      ******     ******     \n\n         Digite uma posição válida do Tabuleiro.","Posição Inválida",JOptionPane.ERROR_MESSAGE);
						cont1--;
					}
				
					else if(posicao[comp]=="  "){
						posicao[comp]=iden2;
							
							if(posicao[1]==iden2 && posicao[4]==iden2 && posicao[7]==iden2 || posicao[2]==iden2 && posicao[5]==iden2 && posicao[8]==iden2 || posicao[3]==iden2 && posicao[6]==iden2 && posicao[9]==iden2 || posicao[1]==iden2 && posicao[2]==iden2 && posicao[3]==iden2 || posicao[4]==iden2 && posicao[5]==iden2 && posicao[6]==iden2 || posicao[7]==iden2 && posicao[8]==iden2 && posicao[9]==iden2 || posicao[1]==iden2 && posicao[5]==iden2 && posicao[9]==iden2 || posicao[3]==iden2 && posicao[5]==iden2 && posicao[7]==iden2){
								ImprimeTabuleiro.imprimeVencedor(posicao,jog2);
								vencedor=true;
								jogo=false;
								break;}
							
							else{		
								vencedor=false;
								jogo=true;
							}
						ImprimeTabuleiro.imprimePosicao(posicao);
					}
			
					else{
							JOptionPane.showMessageDialog(null,"***   Esta posição já está preenchida!   ***\n\n       Escolha outra posição para jogar.","JOGADA INVÁLIDA",JOptionPane.INFORMATION_MESSAGE);
							cont1--;
				}
			}
		}
	/*###########################################################################################################
   	#                                                                                                           #
  	#	Verifica os parametros jogo e vencedor:                                                                 #
  	#  		 if vencedor==true e jogo==false: Encerra o jogo;                                                   #
  	#  		 if vencedor==false e jogo==true: Utiliza o objeto ImprimeTabuleiro.imprimeSemVencedor para imprimir#
  	#e passa o parametro posicao que contem a ultima posicao digitada do ultimo jogador;                        #        #
  	#	rec recebe o valor digitado e atribui para o parametro novamente em inteiro                             #
  	#		 Caso novamente==1: O parametro jogo=1 continuando o jogo e para o while                           	#
  	#        Caso novamente==2: Imprime os desenvolvedores atraves do objeto ImprimeTabuleiro.Desenvolvedor(),  #
  	#imprime mensagem e o parametro jogo=false parando o jogo.													#
  	#	Caso novamente!=1 ou !=2: Imprime mensagem																#	
   	###########################################################################################################*/		

		if(vencedor==true && jogo==false){
				JOptionPane.showMessageDialog(null,"******     ******      JOGO ENCERRADO      ******     ******     ");
			}
			
		else if(vencedor==false && jogo==true){
			ImprimeTabuleiro.imprimeSemVencedor(posicao);
			
				while(novamente!=1 || novamente!=2){
					rec=JOptionPane.showInputDialog(null,"Ambos desejam jogar novamente (1=S/2=N)?","Jogar Novamente",JOptionPane.QUESTION_MESSAGE);
					novamente=Integer.parseInt(rec);
						
						if(novamente==1){
							jogo=true;
							break;
						}
						
						else if(novamente==2){
							ImprimeTabuleiro.Desenvolvedor();
							JOptionPane.showMessageDialog(null,"******     ******      JOGO ENCERRADO      ******     ******     ");
							jogo=false;
							break;
						}
						
						else{
						JOptionPane.showMessageDialog(null,"Digite S para continuar ou N para encerrar!","POSIÇÃO INCORRETA",JOptionPane.ERROR_MESSAGE);
						}
				}
			}
		}
	}
}

Isso é um código vagabundo que eu fiz quando tava bem no comecinho mesmo de java... e eu estava com os mesmos problemas que vc..... me disseram aqui mesmo... a alma da programação é os comentários e bem estruturada..... depois que fiz isso achei um monte de erros que eu tinha no código... há uma coisa... se vc esta usando eclipse... cara pelo bem seu sem dúvida.... use um notepad++, pelo menos pra vc identificar os erros da sua programação.... ajuda um bucado... eu nem consigo usar o eclipse mais...srsrsrssr

faz isso e depois me fala ai como ficou.. se tu ainda tive algum problema só da um toque que eu tento ti ajuda tb... se nao agente pede ajuda pros chefes... falo cara té mais.

M

Tente a orientação a objetos, por menor que o código seja.

Você poderia subscrever o método toString() da classe object para representar o método que vc criou chamado dados.

Tente representar as classes com um nome mais coeso.
Ex.: Transporte e não CriaTransporte, pois transporte será um objeto.

E retire também o método main da classe CriaTransporte, crie uma outra classe implementara toda essa estrutura de negócio que vc criou.

E

Bom to mandando os codigos ai ...

com os comentarios .... que eu acho q é ...
os que eu estiver errado e vcs saberem faz favor de me corigir ai ta ...
............................................

to com muita dificuldade mesmo em .......

rsrsrsrss..........

se tiverem algo pra indica tbm ..
..................................................
entao deem uma olhada ai no que fiz e refiz uma par de vez ai ooo,
e nada a inda .. rsrsrsrsrs

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!!!");
      } }}
// 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());
}

}
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());

}}
E

Bom to mandando os codigos ai ...

com os comentarios .... que eu acho q é ...
os que eu estiver errado e vcs saberem faz favor de me corigir ai ta ...
............................................

to com muita dificuldade mesmo em .......

rsrsrsrss..........

se tiverem algo pra indica tbm ..
..................................................
entao deem uma olhada ai no que fiz e refiz uma par de vez ai ooo,
e nada a inda .. rsrsrsrsrs

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!!!");
      } }}
// 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());
}

}
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());

}}

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 4
Participantes 3