Algoritimo
package motorista;
/**
* * @author Denison */ public class Motorista { private String nome; private int pontoNaCarteira; private boolean estaSuspenso; private int diaSuspenso; private int mesSuspenso; private int anoSuspenso;
public Motorista(String _nome){ nome = _nome; pontoNaCarteira = 0; estaSuspenso = false;
}
public String getNome(){ return nome;
}
public void recebeMulta(int pontos, int dia, int mes, int ano){ pontoNaCarteira = pontoNaCarteira + pontos; if(pontoNaCarteira>=20){ estaSuspenso = true; diaSuspenso = dia; mesSuspenso = mes; anoSuspenso = ano; }
}
public int getPontosNaCarteira(int dia, int mes, int ano){ if(estaSuspenso){ if(jaPassouUmAno(dia, mes, ano)){ pontoNaCarteira = 0; estaSuspenso = false; } } return pontoNaCarteira;
}
public String getSituacao(){ if(estaSuspenso){ return new String(" Carteira Suspenso"); }else{ return new String(" Carteira Habilitado"); }
}
private boolean jaPassouUmAno(int dia, int mes, int ano){ if(ano>(anoSuspenso+1)){ return true; }else{ if((ano==(anoSuspenso)&&(mes>mesSuspenso))){ return true; }else{ if((ano==(anoSuspenso+1)&&(mes==mesSuspenso)&&(dia>diaSuspenso))){ return true; } } } return false; }
}
Classe Principal:
package motorista; import java.util.Scanner; /** * * @author Denison */ public class Principal { private Motorista[] vMotorista; private int[] vPonto = {0,4,5,5,7,7};
public Principal(){ vMotorista = new Motorista[3]; for(int i=0; i<vMotorista.length; i++){ vMotorista[i] = new Motorista("Motorista" +(i+1)+" Pontos "); } }