Array declaração

9 respostas
T

Ola pessoal, estou com dúvidas em Array, aqui vai o enunciado dentre tantos do projeto.

  1. Modificar a Classe CiaAerea para:
    a. Adicionar como atributos:
    i. Array de locais (Aeroportos) onde a cia aérea atua;
    ii. Array de Voos programados.
    b. Modificar o Construtor da Classe para instanciar os arrays de Aeroportos e de Vôos.

    c. Programar um método adicionarLocal() que recebe como parâmetro uma instancia de Aeroporto e adiciona-a à próxima posição disponível no array.
    d. Programar um método adicionarVooProgramado() que recebe como parâmetro uma instancia de vôo e adiciona-a à próxima posição disponível no array. Observação: um voo não pode não ter como origem ou destino um aeroporto cujo o qual a cia aérea não atua;
    e. Programar um método localizarLocal(): boolean que recebe como parâmetro nome da cidade ou código do Aeroporto, devolvendo true se este local é atendido ou false, caso contrário.
    f. Programar um método localizarVoo(): voo que recebe como parâmetro um numero de voo e uma data, devolvendo a instância de voo localizada. Se nenhuma instancia for localizada, deve-se retornar null.

A parte em negrito eu já fiz. Falta essa parte sem ser negrito, se puderem me explicitar, citando exemplos…
Obrigado galera.

9 Respostas

E

Dica: normalmente, usa-se uma variável de instância (de tipo int) auxiliar, para indicar onde é a próxima posição disponível de um array.

Se você definiu um array

private Aeroporto[] aeroportos = new Aeroporto[100];

deve também definir uma variável:

private int nAeroportos = 0;

Essa variável indica quantos aeroportos estão correntemente definidos na variável “aeroportos”. A cada vez que você cria um novo aeroporto, faz algo como:

aeroporto [nAeroportos] = new Aeroporto();
nAeroportos = nAeroportos + 1;
if (nAeroportos >= 100) {
    Erro "Só podem ser cadastrados 100 aeroportos no máximo";
}

ou coisa parecida

T

De uma olhada em meu código.
Declarei o ArrayList.
Estou com dúvida no item c, como receber como parâmetro uma instancia de Aeroporto e adiciona-a à próxima posição disponível no array.

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

public class CiaAerea

{
	List<Aeroporto> local = new ArrayList<Aeroporto>();
	List<Voo> vooProgramados = new ArrayList<Voo>();
	
	
	private String nome, codIata;
	
	public CiaAerea ()
	{
		
	}
	
	//construtor para chamar depois na classe teste, no obj 'aeroCps'
	
	public CiaAerea(String nome, String codIata)
	{
		this.nome = nome;
		this.codIata = codIata;
		local.add(new Aeroporto("VCP", "Viracopos", "Campinas", "São Paulo"));
		local.add(new Aeroporto("CGH", "Congonhas", "São Paulo", "Sao Paulo"));
		local.add(new Aeroporto("GIG", "Antonio Carlos Jobim", "Rio de Janeiro", "Rio de Janeiro"));
		local.add(new Aeroporto("POA", "Salgado Filho", "Porto Alegre", "Rio Grande do Sul"));
		
		vooProgramados.add(new Voo(100, 550.00, 455, "Viracopos", "Salgado Filho", "Confirmado"));
		vooProgramados.add(new Voo(100, 550.00, 455, "Congonhas", "Antônio Carlos Jobim", "Confirmado"));		
		vooProgramados.add(new Voo(100, 550.00, 455, "Congonhas", "Salgado Filho", "Confirmado"));
	}
	
	
	
	/*c. Programar um método adicionarLocal() que recebe como parâmetro uma instancia de Aeroporto e adiciona-a à 
	próxima posição disponível no array.*/
	
	public void adicionarLocal(Aeroporto aeroporto)
	{
		
		
	}
	
	public void adicionarVooProgramado(Voo voo)
	{
		
		
	}
	
	public boolean localizarLocal (String iata)
	{
		
	}
	
	
	public void setNome(String nome)
	{
		this.nome = nome;
	}
	
	public String getNome()
	{
		return nome;
	}
	
	public void setCodIata(String codIata)
	{
		this.codIata = codIata;
	}

	public String getCodIata()
	{
		return codIata;
	}
}
S

Para adicionar um objeto a um ArrayList você deve utilizar o metodo add(E e).

T
public void adicionarLocal(Aeroporto aeroporto)  
    {  
          
          
    }  
      
    public void adicionarVooProgramado(Voo voo)  
    {  
          
          
    }  
      
    public boolean localizarLocal (String iata)  
    {  
          
    }

Quero completar essa parte que esta vazia, seria item C.

S

Conforme eu disse, use o metodo add(E e) para adicionar um objeto do tipo que você especificou entre os < >.

T

Mas eu ja adicioneu, agora quero adicionar à próxima posição disponível no array e como faz?

S

O metodo add adiciona sempre na próxima posição.

http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#add(E)

E

Só uma perguntinha. O professor pediu um array ( [] ) ou um ArrayList ( <> ) ?
:roll:

T

Me desculpem é um ArrayList - dinâmico.

Criado 25 de abril de 2013
Ultima resposta 25 de abr. de 2013
Respostas 9
Participantes 3