Ajuda! a implementar programa em java!

Estou com dificuldades em implementar os 2 últimos métodos, uma ajudinha seria bom :smiley:
olha o código! QUE ESTA NA CLASSE ESTATISTICA!

Percentual dos acidentes em que houve vítimas fatais.
Percentual dos acidentes em que os envolvidos eram menos de 18 anos.
O percentual de embriagados.
//Quantos acidentes ocorreram no período do carnaval (fevereiro).
//Quantos acidentes envolveram condutores de outro estado (UF).

[code]public class Acidente {
private String data;
private char vitimasFatais;
private int[] veiculos;
private Condutor [] condutores;

public Acidente(){
	data="01/01/2000";
	vitimasFatais='N';
	veiculos = new int[1];
	condutores = new Condutor[1];
	condutores[0]=new Condutor();

}

public Acidente(Condutor[] condutores, String dataA, int[] veiculos,char vitimasFatais) {
	this.condutores = condutores;
	this.data = dataA;
	this.veiculos = veiculos;
	this.vitimasFatais = vitimasFatais;
}

public String getData() {
	return data;
}

public void setData(String data) {
	this.data = data;
}

public char getVitimasFatais() {
	return vitimasFatais;
}

public void setVitimasFatais(char vitimasFatais) {
	this.vitimasFatais = vitimasFatais;
}

public int[] getVeiculos() {
	return veiculos;
}

public void setVeiculos(int[] veiculos) {
	this.veiculos = veiculos;
}

public Condutor[] getCondutores() {
	return condutores;
}

public void setCondutores(Condutor[] condutores) {
	this.condutores = condutores;
}

}[/code]

[code]public class Condutor {
private String nome, UF;
private int idade;
private char sexo;
private boolean Bebado;

public Condutor() {
	UF = "";
	idade = 0;
	nome = "";
	sexo = 'M';

}  

public boolean getBebado() {
	return Bebado;
}

public void setBebado(boolean bebado) {
	Bebado = bebado;
}

public Condutor(String uf, int idade, String nome, char sexo) {
	UF = uf;
	this.idade = idade;
	this.nome = nome;
	this.sexo = sexo;
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public int getIdade() {
	return idade;
}

public void setIdade(int idade) {
	this.idade = idade;
}

public char getSexo() {
	return sexo;
}

public void setSexo(char sexo) {
	this.sexo = sexo;
}

public String getUF() {
	return UF;
}

public void setUF(String uf) {
	UF = uf;
}

}[/code]

[code]public class Estatistica {

public static double getPercentualVitimas(Acidente[]lista){
	int qtVitimas=0;
	for(int i=0; i< lista.length; i++){
		if(lista[i].getVitimasFatais()=='S')qtVitimas ++;

	}
	return qtVitimas/lista.length*100;

}

public static double getPercentualVitimasMenores18Anos(Condutor[]listaC,Acidente[] lista){
	int qtVitimasMenores18=0;
	for(int i=0; i< lista.length; i++){
		if ((lista[i].getVitimasFatais()=='S') && (listaC[i].getIdade() < 18  ))qtVitimasMenores18++;

	}
	return qtVitimasMenores18/lista.length*100;

}

public static boolean getPercentualBebados(Condutor[]listaC){
	int qtBebados=0;
	for(int i=0; i<listaC.length;i++){
		if(listaC[i].getBebado()==true)qtBebados++;

	}
	return false;

}

public static int getAcidentesCarnaval(Acidente[]lista){
	
	
	return ;
				
}			
		
	public static int getAcidentesOutroEstado()	{
		
				
		return ;
			
}[/code]

?

? (Concordo com o amigo acima. Entendi o “?” dele, mas não entendi o que você quer!)

Ajuda, nos dois últimos métodos estáticos?
Para?

Acidentes do carnaval você pode pegar as datas de inicio e fim do feriado, e usar o método compareTo para saber se a data está entre ambos.

Quanto ao motoristas de outra uf, você terá que definir qual é a uf que está comparando.

PS: Zero de OO, não?

sim eu entendi, mais como eu faço pra ver no método se ouve Acidentes ou não, como eu faço essa comparação, que atributos eu devo usar?
[]’

sim eu entendi, mais como eu faço pra ver no método se ouve Acidentes ou não, como eu faço essa comparação, que atributos eu devo usar??
[]’

[quote=lucassif]sim eu entendi, mais como eu faço pra ver no método se ouve Acidentes ou não, como eu faço essa comparação, que atributos eu devo usar???
[]’ [/quote]

Cara, especifique melhor sua dúvida para podermos te ajudar.

O que o programa deve fazer?
Que tarefas estes métodos devem realizar?

Lembre-se:
Se pegou o código pronto, não vai adiantar nada. Você nunca irá entender como a “mágica” funciona.
Tente pensar em uma lógica sua para o problema e escreva o programa para resolvê-lo sozinho. Desde o início.
Desta forma, você mesmo irá criar os métodos e saber exatamente o que eles devem fazer. Mesmo que não pareça, seu tempo de implementação irá diminuir.

A comunidade GUJ está disposta a ajudar, mas não adivinhamos o que precisa ser feito.

Abraço.

O departamento de trânsito da cidade de Blumenau necessita levantar estatísticas referentes a pessoas e veículos envolvidos em acidentes de trânsito. Para cada acidente serão registradas as seguintes informações:
1 Data do acidente e se houve vítimas fatais.
2 Nome, idade, sexo, UF e grau de embriaguez do condutor (embriagado ou não).
3 Tipo do veículo (automóvel, motocicleta, bicicleta).
4 Após a entrada das informações de N acidentes (armazenar em vetor), o sistema deve gerar as seguintes estatísticas:
5 Percentual dos acidentes em que houve vítimas fatais.
6 Percentual dos acidentes em que os envolvidos eram menos de 18 anos.
7 O percentual de embriagados.
8 Quantos acidentes ocorreram no período do carnaval (fevereiro).
9 Quantos acidentes envolveram condutores de outro estado (UF).

SÓ QUERO SABER como eu faço pra ver no método se ouve Acidentes ou não, como eu faço essa comparação, que atributos eu devo usar??

Bom, pelo que entendi vc tem uma classe Acidentes que no seu construtor está setando os valores de acidentes.

Vc poderia fazer o seguinte:

1 - Crie a classe que contém o método main();
2 - Nela vc poderá criar uma Lista de Acidentes e para cada acidente, incluí-lo nessa lista (isso após preencher os dados da classe Acidente).
3 - Agora, após criado essas duas coisas, basta pegar o lenght da Lista de Acidentes para saber a quantidade de Acidentes acontecidos.

flw.

sim, mais como eu vou saber se houve acidentes???/

Bom, se vc seguiu a linha de raciocínio que eu coloquei aqui, basta vc verificar o lenght da lista de acidentes!!
Vamos supor que vc criou:

List list = new ArrayList();
list.add(acidente);
list.add(acidente);
list.add(acidente);

Ou seja, preencheu 3 acidentes e inseriu eles na Lista, então para saber se tem ou não acidente, basta verificar se existe dados na lista.

flw.

Pelo seu código, basta que você chame os métodos getAcidentesCarnaval e getAcidentesOutroEstado.

Os dados retornados estarão como integer.

Algo do tipo caso você tenha interface visual:

jLabel1.setText(Integer.toString(getAcidentesCarnaval()));

ou

System.out.println(Integer.toString(getAcidentesCarnaval()));

caso seja em modo texto (DOS).

[quote=gujuser]Bom, se vc seguiu a linha de raciocínio que eu coloquei aqui, basta vc verificar o lenght da lista de acidentes!!
Vamos supor que vc criou:

List list = new ArrayList();
list.add(acidente);
list.add(acidente);
list.add(acidente);

Ou seja, preencheu 3 acidentes e inseriu eles na Lista, então para saber se tem ou não acidente, basta verificar se existe dados na lista.

flw.[/quote]

Dá uma olhada no método getAcidentesCarnaval, ele já retorna um integer.

hey, eu não posso fazer outra classe tem q ser essas ali, e mais outra q é a Principal pra chamar os métodos!

tem esse método da classe estatistica
e eu só quero entender, como eu faço pra ver se teve acidentes !
public static int getAcidentesCarnaval(Acidente[]lista){

Na lógica, creio que o que seria para acontecer, seria isso que vc disse, mas na vdd, os métodos citados, não tem corpo implementado, ou seja, faz apenas um “return” mas de que?
O que eu disse foi justamente para criar a lista com os Acidentes, e devolver o lenght para saber quantos acidentes tem. Poderia ela ser passada para o método getAcidentesCarnaval(sua_lista), e assim implementar a lógica para retornar os acidentes.
Basta apenas fazer um esforço e implementar amigo.

flw.

Não tem como saber os acidentes que ocorreram em outros estados, ao menos que o acidente ocorra no mesmo estado do Condutor.
Mesmo assim falta informações: o método a public static int getAcidentesOutroEstado() eu acho que precisa da lista de acidentes para verificar alguma coisa. E necessito também do estado de comparação: ocorreu acidentes em outros estados em relação a que estado?? Mesmo que seja SC, tem que ter isso em algum lugar…

agora para acidentes em carnaval, tem outros poréns…tem que ter o parâmetro, por exemplo do período do carnaval…todo ano muda…ou tu vai comparar e dizer que todos os acidentes ocorridos em fevereiro foi em decorrência do carnaval???

essas classes estão muito mal modeladas, na minha opinião.

Fernando

EDIT: Engraçado o atributo bebado na classe Condutor…
Deveriam já colocar essa informação carteira de motorista: bebado:sim/nao :lol: :lol:

então, só queria saber como fazer pra ver se houve acidentes ou não ;s
obrigadoo

um exemplo:

public static boolean houveAcidentes(Acidente[] lista){
 return lista.length > 0;
}