Tabela Copa do mundo

2 respostas
A

Boa noite estou começando em java e nas minhas horas de folga ,ainda no clima de copa do mundo,resolvi tentar desenvolver um sistema onde nós digitamos o ano da copa (entre 30 e 2010),o nome de uma selecao e seus respectivos números naquela copa (número de vitórias,derrotas gols pró,etc), e no final criar um ranking das melhores seleções na história de todas as copas.Conforme código abaixo ,criei um vetor para armazenar os dados de cada seleção,porém gostaria de saber como armazenar os dados de cada seleção no vetor usando uma lista encadeada ou um for,por exemplo. Quem puder me ajudar eu agradeço.

//classe Seleção

public class Selecao  {

public String nome;

public int j, v,e,d,gp,gc,sd;

}

//Classe Principal

import java.util.Scanner;

public class Principal{
public static void main (String [] args){

Scanner leitura;
    leitura= new Scanner(System.in);

    Selecao [] time;
    time= new Selecao[200];

    int [] anoCopa;
    anoCopa = new int[100];

    for (int i=0;i < time.length;i++){
    time[i]=new Selecao();
    }

    System.out.println("Digite o nome da Seleção");
     time[0].nome =leitura.next();

    System.out.println("Digite o numero de jogos");
     time[0].j =leitura.nextInt();

     System.out.println("Digite o numero de vitorias");
     time[0].v =leitura.nextInt();

     System.out.println("Digite o numero de empates");
     time[0].e =leitura.nextInt();

     System.out.println("Digite o numero de derrotas");
     time[0].d =leitura.nextInt();

     System.out.println("Digite o numero de gols a favor");
     time[0].gp =leitura.nextInt();

     System.out.println("Digite o numero de gols contra");
     time[0].gc =leitura.nextInt();


}

}

2 Respostas

skiterandy

Ola alexandre!

o que você está tentando fazer eu acho que seria melhor você usar arrayList como no código abaixo.

dtoCopa:

package dto;

import java.util.ArrayList;

public class dtoCopa {
	private int ano;
	private String lugar;
	private ArrayList<dtoSelecao> selecoes;
	public int getAno() {
		return ano;
	}
	public void setAno(int ano) {
		this.ano = ano;
	}
	public String getLugar() {
		return lugar;
	}
	public void setLugar(String lugar) {
		this.lugar = lugar;
	}
	public ArrayList<dtoSelecao> getSelecoes() {
		return selecoes;
	}
	public void setSelecoes(ArrayList<dtoSelecao> selecoes) {
		this.selecoes = selecoes;
	}
	
	
}

dtoSelecao:

package dto;

public class dtoSelecao {
	private  String nome;
	private int vitorias;
	private int jogos;
	private int empates;
	private int derrotas;
	private int golFavor;
	private int golContra;
	private int saldoDeGols;
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public int getVitorias() {
		return vitorias;
	}
	public void setVitorias(int vitorias) {
		this.vitorias = vitorias;
	}
	public int getJogos() {
		return jogos;
	}
	public void setJogos(int jogos) {
		this.jogos = jogos;
	}
	public int getEmpates() {
		return empates;
	}
	public void setEmpates(int empates) {
		this.empates = empates;
	}
	public int getDerrotas() {
		return derrotas;
	}
	public void setDerrotas(int derrotas) {
		this.derrotas = derrotas;
	}
	public int getGolFavor() {
		return golFavor;
	}
	public void setGolFavor(int golFavor) {
		this.golFavor = golFavor;
	}
	public int getGolContra() {
		return golContra;
	}
	public void setGolContra(int golContra) {
		this.golContra = golContra;
	}
	public int getSaldoDeGols() {
		return saldoDeGols;
	}
	public void setSaldoDeGols(int saldoDeGols) {
		this.saldoDeGols = saldoDeGols;
	}
	
}

principal:

package aplicacao;

import java.util.ArrayList;
import java.util.Scanner;

import dto.dtoCopa;
import dto.dtoSelecao;

public class Selecao {
	
	
	public static void main (String [] args){
		
		Scanner leitura;
		leitura= new Scanner(System.in);

	
		ArrayList<dtoSelecao> selecoes = new ArrayList<dtoSelecao>();
		ArrayList<dtoCopa> copas = new ArrayList<dtoCopa>();
		
		do{
			dtoCopa dadosCopa = new dtoCopa();
			
			System.out.println("Digite o ano da copa!");
			dadosCopa.setAno(leitura.nextInt());
			
			System.out.println("Digite o lugar da copa!");
			dadosCopa.setLugar(leitura.next());			
	
			do{
				dtoSelecao dados = new dtoSelecao();
			
				System.out.println("Digite o nome da Seleção");
				dados.setNome(leitura.next());
		
				System.out.println("Digite o numero de jogos");
				dados.setJogos(leitura.nextInt());
		
				System.out.println("Digite o numero de vitorias");
				dados.setVitorias(leitura.nextInt());
		
				System.out.println("Digite o numero de empates");
				dados.setEmpates(leitura.nextInt());
		
				System.out.println("Digite o numero de derrotas");
				dados.setDerrotas(leitura.nextInt());
		
				System.out.println("Digite o numero de gols a favor");
				dados.setGolFavor(leitura.nextInt());
		
				System.out.println("Digite o numero de gols contra");
				dados.setGolContra(leitura.nextInt());
				
				//adiciona no arrayList
				selecoes.add(dados);
				
				System.out.println("deseja continuar cadastrando seleções para essa copa?");
			}while(leitura.next().equalsIgnoreCase("sim"));
			
			dadosCopa.setSelecoes(selecoes);
			copas.add(dadosCopa);
			
			System.out.println("cadastrar outra copa?");
		}while(leitura.next().equalsIgnoreCase("sim"));
	}
}

espero ter ajudado!

jeff_uesc

Para o seu propósito é mais eficiente usar um vetor ordenado, ou seja, cada vez que vc adicionar um novo item vc vai ter que reorganizar o vetor. Parece trabalhoso mas vale a pena… Vc vai ter uma inserção um pouco mais custosa, mas a busca será muito rápida.

Olha isso e vc vai entender melhor…

http://algoritmos.tiagomadeira.net/categoria/ordenacao/page/2

Criado 23 de julho de 2010
Ultima resposta 24 de jul. de 2010
Respostas 2
Participantes 3