dúvida: classe Calendar

Boa tarde a todos.

Minha dúvida com a classe Calendar é a seguinte:

Para eu descobrir o mês atual, utilizo o código:

Calendar cal = Calendar.getInstance();
int mes = cal.get(Calendar.MONTH) + 1;

System.out.println("Mês: " + mes);

Tem como, através da classe Calendar, informar o mês seguinte?

Essa minha dúvida é por causa de um projeto de venda de convênio parcelada. Exemplo: ao informar ao sistema uma compra de R$ 300,00 feita em janeiro, o sistema irá lançar automaticamente os valores a serem descontados em fevereiro, março e abril. A maneira mais fácil seria com a classe Calendar mesmo?

Olá, Companheiro

Tem como sim, basta você dar uma olhada em http://java.sun.com/javase/6/docs/api/

E veja qual método será melhor pro seu caso.

Abraços

[quote=marcusluiz83]Boa tarde a todos.
A maneira mais fácil seria com a classe Calendar mesmo?[/quote]

Sim. Tal como o amigo ae de cima sugeriu, de uma olhada na API.

Flw!

Obrigado pela ajuda, mas não encontrei algo que pudesse esclarecer minha dúvida. Já tinha dado uma olhada na api. Eu sou iniciante, e confesso estar apanhando muito.

Eu já tentei da seguinte forma:

Calendar cal = Calendar.getInstance();
int mesAtual = cal.get(Calendar.MONTH) + 1;
int mesDeb01 = cal.get(Calendar.MONTH) + 2;
int mesDeb02 = cal.get(Calendar.MONTH) + 3;
int mesDeb03 = cal.get(Calendar.MONTH) + 4;

Estou certo de que não é a melhor forma. Eu desisti de utilizar o que foi citado acima, porque quando o mês de referência fosse dezembro, o valor de janeiro seria 13.

Não quero que façam o trabalho por mim, quero continuar apanhando, até poder bater, mas como sou “pirralho”, reforço meu pedido de ajuda, e agradeço aos dois amigos que me indicaram a api.

Vou insistir mais uma vez na documentação. Você já viu isso:
http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#add%28int,%20int%29
Leia atentamente e, se a dúvida persistir volta a postar.

Agradeço pela boa vontade de todos, mas serei sincero, não consigo entender pela documentação. Sei que muitos iniciantes começam a aprender justamente pela documentação, mas eu não consigo entender sem exemplos. Sou iniciante, e estou fazendo bastantes tutoriais que acho na internet, pois focam a teoria e a prática. Vemos o resultado do que foi proposto.

Não escondo de ninguém que estou tendo muitas dificuldades, talvez posso ter pulado alguma etapa durante o aprendizado.

Às vezes fico meio desanimado por ver que não estou progredindo tão bem quanto gostaria, mas continuarei insistindo. Nunca me disseram que seria fácil, e tampouco pensei que o acharia fácil.

Obrigado pela ajuda.

Veja se isso esclarece um pouco.


public int proximoMes()
{
   Calendar calendar = Calendar.getInstance();
   int mesAtual = calendar.get(Calendar.MONTH)+1;
   int proxMes = mesAtual + 1;
   return proxMes;
}

....

int qualEhOMes = proximoMes();

switch(qualEhOMes)
{
  case 2:
  System.out.println("Fevereiro");
  break;
  ....
  case 13:
  System.out.pritln("Janeiro");
}

[quote=ArchV]Veja se isso esclarece um pouco.

[code]

public int proximoMes()
{
Calendar calendar = Calendar.getInstance();
int mesAtual = calendar.get(Calendar.MONTH)+1;
int proxMes = mesAtual + 1;
return proxMes;
}

int qualEhOMes = proximoMes();

switch(qualEhOMes)
{
case 2:
System.out.println(“Fevereiro”);
break;

case 13:
System.out.pritln(“Janeiro”);
}

[/code][/quote]
Minha sincera opinião: isso ficou meio POG. Imagine que precisamos calcular 11 meses adiante. Vamos fazer um switch até 23? Não está legal.

Ao invés disso, use o método add() de Calendar:

Calendar agora = Calendar.getInstance();                             
Calendar daquiUmMes = Calendar.getInstance();                        
daquiUmMes.add(Calendar.MONTH, 1); // adicionamos 1 mês à data atual 
// já calculamos um mês à frente. Vamos apenas mostrar para conferir:
DateFormat format = new SimpleDateFormat("EEE, dd 'de' MMM");        
System.out.println("Agora: " + format.format(agora.getTime()));      
System.out.println("Daqui um mês: " + format.format(daquiUmMes.getTime()));                      

[quote=marcobiscaro2112]
Ao invés disso, use o método add() de Calendar:

Calendar agora = Calendar.getInstance(); Calendar daquiUmMes = Calendar.getInstance(); daquiUmMes.add(Calendar.MONTH, 1); // adicionamos 1 mês à data atual // já calculamos um mês à frente. Vamos apenas mostrar para conferir: DateFormat format = new SimpleDateFormat("EEE, dd 'de' MMM"); System.out.println("Agora: " + format.format(agora.getTime())); System.out.println("Daqui um mês: " + format.format(daquiUmMes.getTime())); [/quote]

Com certeza, bem melhor. Serviu como aprendizado pra mim tb.

Vlw!