Projeto Onibus

8 respostas
B

Bom dia,
será que algueém poderia me ajudar com um projeto em JAVA?
Tenho que montar um programa com que faça a liberação da catraca de um ônibus, mostre quantas passagens tem restantes no cartão do ônibus e, de 10 em 10 minutos mostre quantos passageiros entraram e saíram do ônibus.
Obrigada.

8 Respostas

Luiz_Aguiar

Cadê o código que vc ja fez?

[]s

rafaelviny

public class Onibus{}

já é um começo

agora apartir das duvidas desse codigo eu te ajudo

nel

rafaelviny:
public class Onibus{}

já é um começo

agora apartir das duvidas desse codigo eu te ajudo

rsrsrs!
Eu poderia ter ficado calado mas foi tenso esse resposta.

Mas assim Beatriz, o pessoal tem razão, da forma como você se expressou, deu a entender que você quer que eu alguém construa o projeto para você.
Podem até fazer isso, mas vão lhe cobrar :slight_smile:

Abraços.

B
package projetofinalpi;

import java.util.*;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Timer;

import java.util.TimerTask;

public class Main {

public static void main(String[] args) {

int onibusID, quantpass=0;

boolean catraca=false;

Scanner in = new Scanner (System.in);

System.out.println(Entre com a quantidade de passagens restantes em seu cartão.);

onibusID= in.nextInt();

if (onibusID>0){

catraca=true;

System.out.println (Catraca Liberada!);

onibusID=onibusID-1;

System.out.println ("Passagens restantes: " + onibusID);

}

while (catraca=true){

quantpass++;

}

}
}

Eu ainda to bem no começo, mas uma ajuda seria muito bem vinda

nel

A primeira dica e ajuda é sempre que postar código poste-o entre as tags code, veja a diferença de visualização.

package projetofinalpi; 
import java.util.*; 
import java.text.SimpleDateFormat; 
import java.util.Date; 
import java.util.Timer; 
import java.util.TimerTask; 
public class Main { 
public static void main(String[] args) { 
int onibusID, quantpass=0; 
boolean catraca=false; 
Scanner in = new Scanner (System.in); 
System.out.println("Entre com a quantidade de passagens restantes em seu cartão."); 
onibusID= in.nextInt(); 
if (onibusID>0){ 
catraca=true; 
System.out.println ("Catraca Liberada!"); 
onibusID=onibusID-1; 
System.out.println ("Passagens restantes: " + onibusID); 
} 
while (catraca=true){ 
quantpass++; 
} 


} 
}

Certo! Dado o seu código, algo está dando erro ou gerando dúvida?! :slight_smile:

nel

Seu código está bem confuso, o que seria isso?

while (catraca=true){ quantpass++; }

Se tem uma variavél booleana, não a compare, apenas faça while(catraca), enquanto catraca for verdadeira, permanece no loop.
Percebeu que o loop é “infinito”? Afinal, não tem código dentro do loop que altere o valor de catraca, ou seja, ela “sempre” será true.

Outro detalhe, o usuário irá informar a quantidade de passes no cartão!? :slight_smile:
Coloque o System.out.println() indicando a quantidade de passagem quando decrementar a quantidade e já incremente a variavél que controla o número de passageiros.

Eu recomendo que crie uma classe separada que possua atributos como qtdadePasses, Id e por ai.
Nesse caso, podes manipular um objeto :slight_smile:

Abraços.

javer

Beatriz Ferrari:
Bom dia,
será que algueém poderia me ajudar com um projeto em JAVA?
Tenho que montar um programa com que faça a liberação da catraca de um ônibus, mostre quantas passagens tem restantes no cartão do ônibus e, de 10 em 10 minutos mostre quantos passageiros entraram e saíram do ônibus.
Obrigada.

Isso vai ser mesmo colocado em uma interface dentro de um ônibus ou você vai fazer uma simulação total em uma tela?

T

Opa.

Você pode tentar algo com thread, segue 1 pequeno exemplo:

public class Temporizador implements Runnable {

	private Long passageiro = 0l; 
	private Calendar ultimaLeitura = Calendar.getInstance(); 
	
	@Override
	public void run() {

		Scanner in = new Scanner (System.in);
		String opcao = "";
		do{

			System.out.print("1 - Sobe || 2 - Desce: ");   
			opcao = in.next();
			if (opcao.equals("1")){
				this.sobe();
			}else if(opcao.equals("2")){
				this.desce();
			}
			
			System.out.print("Continua<s/n> ?");   
			opcao = in.next();

			if ((Calendar.getInstance().getTimeInMillis() - ultimaLeitura.getTimeInMillis()) > 10000) {
				ultimaLeitura = Calendar.getInstance();
				System.out.println("Qtd Atual de Passageiro: " + passageiro);
			}
			
		}while (opcao.equalsIgnoreCase("s"));

	}

	public void sobe() {
		this.passageiro++;
	}

	public void desce() {
		this.passageiro--;
	}

}
Criado 5 de abril de 2011
Ultima resposta 5 de abr. de 2011
Respostas 8
Participantes 6