Dúvida com lista de meses

Pessoal, boa tarde

montei um sistema de pagamento de mensalidades, nele oq eu faco, eu seleciono os meses pagos de um cliente, monto uma lista, faco uma lista com todos os meses e removo dessa lista os meses ja pagos, entao so aparece para o cliente os meses a pagar, porem to com um problema, se um cliente entrar hoje os meses de janeiro, fevereiro, março nao devem aparecer pra ele, pois ele nao tera q pagar, somente desse mes pra frente, como eu faria isso?
segue meu codigo:

public List<String> geraMesesDevedores(int matricula, int ano) throws SQLException {
		PreparedStatement stmt;
		List<String> meses = new ArrayList<String>(); 
		stmt = connection.prepareStatement("select c.*,m.* from contato c inner join mensalidade m where c.matricula = ? and c.idcontato = m.idcontato and m.pago = '1' and m.ano = ? group by m.idmensalidade order by m.mesref ASC");
	    stmt.setInt(1, matricula);
	    stmt.setInt(2, ano);
	    
	    ResultSet rs = stmt.executeQuery();

		while(rs.next()) {   
			meses.add(rs.getString("m.mes"));   
			}   
			  
			rs.close();   
			stmt.close();
			
			List<String> todosMeses = new ArrayList<String>();
			todosMeses.add("JANEIRO");
			todosMeses.add("FEVEREIRO");
			todosMeses.add("MARÇO");
			todosMeses.add("ABRIL");
			todosMeses.add("MAIO");
			todosMeses.add("JUNHO");
			todosMeses.add("JULHO");
			todosMeses.add("AGOSTO");
			todosMeses.add("SETEMBRO");
			todosMeses.add("OUTUBRO");
			todosMeses.add("NOVEMBRO");
			todosMeses.add("DEZEMBRO");
			
			todosMeses.removeAll(meses);
					
		return todosMeses;
	}

Oi!

Mas já não faz isso? Senão está fazendo, é porque a String retornada do banco é diferente das que tu está adicionando na lista todosMeses.

[code]public static void main(String[] args) throws IOException {
List todosMeses = new ArrayList();
todosMeses.add(“JANEIRO”);
todosMeses.add(“FEVEREIRO”);
todosMeses.add(“MARÇO”);
todosMeses.add(“ABRIL”);
todosMeses.add(“MAIO”);
todosMeses.add(“JUNHO”);
todosMeses.add(“JULHO”);
todosMeses.add(“AGOSTO”);
todosMeses.add(“SETEMBRO”);
todosMeses.add(“OUTUBRO”);
todosMeses.add(“NOVEMBRO”);
todosMeses.add(“DEZEMBRO”);

     List<String> mesesPagos = new ArrayList<String>();
     mesesPagos.add("JANEIRO");
     mesesPagos.add("FEVEREIRO");
     mesesPagos.add("MARÇO");
     
     todosMeses.removeAll(mesesPagos);
     for(String mes : todosMeses)
    	 System.out.println(mes);

}[/code]

Printou na tela somente a partir do mes de ABRIL.
Abraços.

Nel, ta certo… isso ja funciona, iria aparecer na tela apartir do mes de Abril, porem o seguinte…

estamos em junho, o cliente se matricula hoje, junho… nao pode aparecer pra ele janeiro fevereiro março abril e maio para pagamento entende? pq como ele nao pagou esses meses no ano de 2011 iria aparecer pra ele esses meses tb, e so quero que aparece apartir do mes que ele entrou.

abraços

eaí? alguem tem alguma ideia?

onde trabalhei a gente buscava a data inicial e a data final e tratava a diferença no próprio java… tem até método pra isso…

não tem prazo para pagamento, quem não paga, o nome vai para o quadro, entao nao tem uma data inicial e final entende?

se não tem uma data final, use a data de hoje só pra efetuar os calculos de intervalo de tempo ué

vc teria algum exemplo? sou iniciante e nao estou conseguindo entender oq vc ta dizendo

tava com uns problemas com calculo de tempo! http://www.guj.com.br/java/244873-converter-sql-para-restrictions-resolvido
Tem la a SQL vo posta o BANCO la agora espero que ajude!, só quando for trabalhar com datas tome o cuidado de tipo quando você for pegar um intervalo os e se for TIMESTAMP os minutos e segundos interferem e porem dar problemas ex: se que pegar um dia inteiro hoje no caso 2011/06/26 - 00.00.00.000 ate 2011/06/26 - 23.59.59.999 -->

 yyyy/MM/dd - HH.mm.ss.SSS