Gerar varias datas

4 respostas
leandrovrb
estou fazendo uma classe contas a receber vamos supor que a pessoa vai pagar em 3 vezes entao fiz um laço envolvendo o valorTotal dividido por 3 partes para pagar, so que nao consigo gerar 3 datas diferentes(30,60,90 dias). como que faço? esta abaixo o laço que fiz para a divisao do valor qdo solicitado:O codigo abaixo esta rodando direitinho: so quero colocar datas tambem para as parcelas,nao consigo:
int parcelas=0;
    int codParcela=1;
        parcelas = Integer.parseInt(tfNumParcela.getText());
        
    while (codParcela <=parcelas)
 { try{
           String sqlinsert ="insert into drecebe " +
                    "(codCRecebe,codParcela,valorParcela,dataVencimento" +
                    ") values ('"+
                    tfCodCConta.getText()+"','"+
                    codParcela+"','"+
                    tfValorParcela.getText()+"','"+
                    tfJuros.getText()+"')";
                    JOptionPane.showMessageDialog(null,"sql = "+sqlinsert);
                    con_drecebe.statement.executeUpdate(sqlinsert);
                    JOptionPane.showMessageDialog(null,"Gravação realizado com sucesso!");           
                    
       }
                catch (SQLException erro)
                {
                    JOptionPane.showMessageDialog(null,"Erro a tentar Gravar o registro..."+erro);
                }
    
    codParcela=codParcela+1;
    }    
        
                
                
    }

4 Respostas

maquiavelbona

Por enquanto a aritmética de datas no Java é pífia. Sugiro você usar o Joda Time que apartir de uma data você consegue pegar os 30/60/90 dias que você quer.

Até!

leandrovrb

poxa que pena, ei to fazendo um laco aq utilizando o while e coloco mais 1 na soma dos meses e qdo intera o dezembro eu utilizo um swhit. porque desse jeito nao entendi nada!!!

olhe abaixo
:
     
     public void geraParcela ()
    {
     int parcelas=0;
    int codParcela=1;
    int dataParcela=0;
        parcelas = Integer.parseInt(tfNumParcela.getText());
        int recebeDt=(Integer.parseInt(tfData.getText()));  
    dataParcela=recebeDt;     
    while (codParcela <=parcelas)
    {
        
        dataParcela=dataParcela+1;
         switch(dataParcela){
         case 12: dataParcela = 0;break;
         case 13: dataParcela = 1;break;
         case 14: dataParcela = 2;break;
         case 15: dataParcela = 3;break;
         case 16: dataParcela = 4;break;
         case 17: dataParcela = 5;break;
         case 18: dataParcela = 6;break;
         case 19: dataParcela = 7;break;
         case 20: dataParcela = 8;break;
         case 21: dataParcela = 9;break;
         case 22: dataParcela = 10;break;
         case 23: dataParcela = 11;break;
         case 24: dataParcela = 12;break;
         case 25: dataParcela = 1;break;
         case 26: dataParcela = 2;break;
         case 27: dataParcela = 3;break;
        }
                 
         try{
           String sqlinsert ="insert into drecebe " +
                    "(codCRecebe,codParcela,valorParcela,dataVencimento" +
                    ") values ('"+
                    tfCodCConta.getText()+"','"+
                    codParcela+"','"+
                    tfValorParcela.getText()+"','"+
                     dataParcela+"')";
                    JOptionPane.showMessageDialog(null,"sql = "+sqlinsert);
                    con_drecebe.statement.executeUpdate(sqlinsert);
                    JOptionPane.showMessageDialog(null,"Gravação realizado com sucesso!");           
               }
                catch (SQLException erro)
                {
                    JOptionPane.showMessageDialog(null,"Erro a tentar Gravar o registro..."+erro);
                }

    
    codParcela=codParcela+1;
    }    
        
                
                
    }
F

Cara dá uma olhada na classe calendar, lá vc consegue adicionar X dias a uma data e ele calcula certinho.
Fica algo assim:

data.add(Calendar.DAY_OF_MONTH, 30)

data.add(Calendar.DAY_OF_MONTH, 60)

data.add(Calendar.DAY_OF_MONTH, 90)
leandrovrb

Ola pessoal fiz como nosso amigo fausto disse… so que coloquei dentro de um laço:
Olhem e ficou ± assim

while (prestacao <=meses) data.add(Calendar.DAY_OF_MONTH)

Criado 3 de dezembro de 2008
Ultima resposta 11 de dez. de 2008
Respostas 4
Participantes 3