Duvida em algoritmo

5 respostas
truespy

iae Galerinha do GUJ belezaaa?
pessoal estou com o seguinte problema
tenho um programa para fazer e nao estou conseguindo chegar a um acordo aqui.
Preciso fazer um programa e simule uma corrida de formula 1
que deve conter as classes piloto equipe campeonato
a classe piloto tem atributos nome idade; a patrocinador nome; e a classe campeonato tem q conter os vetores piloto e patrocinadores.
não entendi como faço para a classe campeonato conter um vetor dos pilotos um vetor de equipes
por hora esta assim o codigo:

class Piloto{
    String nome,idade;
void inicializa_pilotos(){
vetor_piloto = new Piloto[ 1 ];
vetor_piloto[1].nome="Lewis Hamilton";
vetor_piloto[1].idade="24";
}
};
class Patrocinador{
    String nome;
 void inicializa_patrocinador(){
    Patrocinador[] vetor_patrocinador;
    vetor_patrocinador = new Patrocinador[ 1 ];
    vetor_patrocinador[1].nome="JohnnieWalker";
}
};
class Equipe {/*nessa parte que esta o problema*/
};

public class Main {
    public static void main(String[] args) {
   
        Piloto p = new Piloto();
        Patrocinador pat=new Patrocinador();
        p.inicializa_pilotos();
        pat.inicializa_patrocinador();
}
}
obs:eu resumi o codigo pois haviam muitos pilotos na inicializaçao eu utilizava um for mas para resumir coloquei deste modo. desde ja agradeço pela atenção

5 Respostas

blackfalcon

Bem amigo, explique melhor as classes que voce deve criar. Pelo vi, voce disse que tem que criar uma Piloto, uma Equipe e outra Campeonato. O que tem que conter a classe Campeonato? Seria as equipes?

Porque, pela minha logica. Um Piloto faz parte da Equipe, e uma Equipe faz parte do Campeonato. Ou seja, voce deve criar a classe Equipe e dentro dela colocar um atributo Nome. Na classe Piloto, voce deve extender a classe Equipe para pegar os atributos e metodos ja feitos tambem incluir uma variavel idade. Entende? E na classe Campeonato, criar varios objetos que referenciam as equipes.

Vou criar aqui e te mostrar como deve proceder. Enquanto vou fazendo, diga ai se é isso mesmo que voce deseja amigo.

Abraços

R

Não entendo muito de arquitetura mas Piloto estender Equipe? Um piloto NÃO É uma equipe.

class Piloto {

List<Patrocinador> patrocinadores; //pilotos tem seus patrocinadores particulares
Equipe equipe;
String nome;
int idade;

}

class Equipe {

List<Patrocinador> patrocinadores; //equipes também tem as equipes que anunciam
List<Piloto> pilotos;
String nome;
Carro carro;

}

class Carro {



}

class Campeonato {

List<Patrocinador> patrocinadores; //campeonatos também tem seus patrocinadores :D
List<Equipe> equipes;
List<Circuitos> circuitos;

}

class Circuito {

String nome;

}

Viajei um pouquinho nos patrocinadores... mas sem ter algo bem definido é complicado...

truespy

3 Classes Piloto Patrocinador e Equipe
a classe patrocinador tem que conter os pilotos e a classe equipe tem que conter os pilotos e os patrocinadores,
mas tem q ser um vetor de patrocinador e um vetor de piloto.
abraços
desculpe pelo erro acabei confundindo campeonato e patrocinador

blackfalcon
package formula1;

import java.util.ArrayList;
import java.util.List;

public class Piloto {
  List<String> nome = new ArrayList();
  
}
package formula1;

import java.util.ArrayList;
import java.util.List;

public class Patrocinador {
    List<String> nome = new ArrayList();
    
    Piloto piloto = new Piloto();
}
package formula1;

public class Equipe {
  
  private String nome;

  Patrocinador patrocinador = new Patrocinador();
  
  public Equipe(String nome){
      this.nome = nome;
  }
  
  public String getNome(){
      return nome;
  }
  
}
package formula1;

import java.util.Iterator;

public class Main {

    public static void main(String[] args) {
        Equipe eqNascar = new Equipe("Equipe GUJ");
        System.out.println("A Formula 1 começou. A equipe é: ");
        System.out.println(eqNascar.getNome());
        
        eqNascar.patrocinador.nome.add("Patrocinador 1");
        eqNascar.patrocinador.nome.add("Patrocinador 2");
        
        System.out.println("Os patrocinadores sao: ");
        
        for(Iterator it = eqNascar.patrocinador.nome.iterator(); it.hasNext();){
            System.out.println(it.next());
        }
        
        eqNascar.patrocinador.piloto.nome.add("Piloto 1");
        eqNascar.patrocinador.piloto.nome.add("Piloto 2");
        
        System.out.println("O nome dos pilotos sao: ");
        
        for(Iterator it = eqNascar.patrocinador.piloto.nome.iterator(); it.hasNext();){
            System.out.println(it.next());
        } 
    }
}

Eu viajei mesmo na hora que eu falei sobre polimorfismo. Bem, sou iniciante ne, inclusive aprendi agora a trabalhar com List rsrs

Gostei do exercicio amigo, me ajudou bastante. E como voce ve, fiz metade apenas, so o essencial para voce entender.

Agora voce tem que dar uma olhada ai na parte idade. Amanha vou tentar ver como fazer isso, amanha volto aqui para postar.

Abraços

blackfalcon

Ah, o resultado dele sera:

A Formula 1 começou. A equipe é: Equipe GUJ Os patrocinadores sao: Patrocinador 1 Patrocinador 2 O nome dos pilotos sao: Piloto 1 Piloto 2

Abraços

Criado 13 de maio de 2010
Ultima resposta 13 de mai. de 2010
Respostas 5
Participantes 3