Ir ao conteúdo
  • Cadastre-se

Java Trabalho - Integração de ônibus


Posts recomendados

Bom dia galera, estou com uma dúvida no meu trabalho de java, segue abaixo o enunciado:

 

“A empresa VrumTil, possui vários ônibus que interligam diversas cidades do pais, cada ônibus tem um capacidade de passageiros, e os ônibus leitos tem maior conforto a um customaior. Os ônibus estão em uma linha que realiza a viagem em uma data e hora, com uma previsão de chegada. Nos ônibus as poltronas são numeradas e os clientes podem escolher entre as cadeiras disponíveis. Faça um sistema em java que permita ao atendente da empresa cadastrar as linhas e os itinerários (cidade origem e destino) bem como o ônibus que irá atender a essa linha. O sistema deve ser capaz de realizar a venda da passagem, lembrando que para cada viagem a empresa deve disponibilizar a venda de duas passagem gratuitas para idosos.
 
O sistema deve mostrar o valor arrecadado em cada viagem
bem como a quantidade de passageiros por viagem.”
 
TUDO NO MEU PROGRAMA ESTÁ FUNCIONANDO, MAS NAO CONSIGO FAZER UM MÉTODO PARA REALIZAR A RESERVA DE CADA ASSENTO, no meu programa está assim:
o método é esse:
 
public void getLugaresDisponiveis(int num,String opcao) {
	int lugares[] = new int[num];
	if (opcao.equalsIgnoreCase("sim")) {
		for(int i = 0; i <lugares.length;i++) {
			lugares[i] = 0;
			if (lugares[i] == 0) {
				System.out.println("Assento " + i + " Disponivel");
			} else {
				System.out.println("Assento " + i + " Indisponivel");
			}
		}
	}
}
O parâmetro "num" eu passo ele na classe principal quando peço para o atendente digitar o numero de lugares que o ônibus possui, então é criado um vetor com o numero de assentos, o problema está ocorrendo no seguinte:
 
Eu fiz esse método que é o método utilizado para realizar de fato a escolha dos assentos, porém, os vetores só existem dentro de cada método, então eles são "diferentes", eu queria saber
como PASSAR O VETOR DO MÉTODO ACIMA COMO REFERENCIA PARA O VETOR DO MÉTODO ABAIXO, pois creio que isso resolveria o meu problema, ou então que alguém me desse uma dica de como resolver, eu sei que está meio confuso, pois o código todo ja está extenso, então tentei resumir o meu problema,agradeço desde ja.
 
public int checarAcento(int numero,int tamanho) {
	int lugares[] = new int[tamanho];
	if (lugares[numero] == 0) {
		lugares[numero] = 1;
		return 1;
	} else {
		return 0;
	}
}
 
 
Link para o comentário
Compartilhar em outros sites

@Higor Senna, estes vetores que está criando em cada método são locais, ou seja, acabou o método o vetor é destruído. Você deve colocar eles num local onde pode manter o estado deles entre as chamadas. Eu recomendo criar isso numa classe Viagem:

public class Viagem {
	Itinerario itinerario;
	Onibus onibus;
	double valorPassagem;
	boolean reservasPoltronas[];
	int poltronasIdosos[];
	public Viagem() { // aqui inicializei direto o itinerario e o ônibus, mas normalmente seriam passadas no construtor por exemplo
		onibus = new Onibus();
		itinerario = new Itinerario();
		poltronasIdosos = new int[2];
		reservasPoltronas = new boolean[onibus.getPoltronas()];
		for (int i = 0; i < poltronasIdosos.length; i++) {
			poltronasIdosos[i] = 0;
		}
		for (int i = 0; i < reservasPoltronas.length; i++) {
			reservasPoltronas[i] = false;
		}
	}
	/**
	* @param poltrona  * @[member="Return"] true se reservou corretamente, false se já estava reservada  */
	public boolean reservar(int poltrona) {
		if (reservasPoltronas[poltrona-1]) {
			return false;
		} else {
			reservasPoltronas[poltrona-1] = true;
			return true;
		}
	}
	/**
	 * @param poltrona  * @[member="Return"] true se reservou corretamente, false se já estava reservada ou se  *
	 * os 2 bilhetes para idosos já foram reservados  */
	public boolean reservarParaIdoso(int poltrona) {
		for (int i = 0; i < poltronasIdosos.length; i++) {
			if (poltronasIdosos[i] == 0) {
				boolean reservou = reservar(poltrona);
				if (reservou) {
					poltronasIdosos[i] = poltrona;
				}
				return reservou;
			}
		}
	return false;
	}
}
Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • 4 semanas depois...
  • Membro VIP
Em 03/10/2017 às 19:33, LuisLucas disse:

@Higor Senna, cara tudo tranquilo?

Seu programa sobre a empresa de onibus deu certo?

Tem como postar ou enviar por e-mail?

 

Agradeceria muito!

 

Olá @LuisLucas. Tente fazer o seu próprio programa... favor seguir acompanhamentos lá na seu tópico.

 

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...