cmarquesumu 17 de abr. de 2009
Tatiana,
Exceto pela questão do número de casas utilizadas para o cálculo, o resto acredito que seja o que você está precisando.
import java.util.Vector ;
import javax.swing.JTable ;
import javax.swing.table.DefaultTableModel ;
public class Tabela extends javax.swing.JFrame {
private JTable jTable1 ;
public Tabela () {
jTable1 = new JTable ();
getContentPane (). add ( jTable1 );
montaTabela ();
pack ();
setVisible ( true );
}
public void montaTabela () {
int periodos = 12 ;
double saldoDevedor = 10000 ;
double taxaJuros = 0.02 ;
double parcela = 945.6 ;
double valorJuros , amortizacao , totalAmortizacao = 0 , totalJuros = 0 , totalParcela = 0 ;
DefaultTableModel dtm = ( DefaultTableModel ) jTable1 . getModel ();
dtm . addColumn ( "Período" );
dtm . addColumn ( "Saldo Devedor" );
dtm . addColumn ( "Amortização" );
dtm . addColumn ( "Juros" );
dtm . addColumn ( "Parcela" );
dtm . addRow ( new Vector ());
dtm . setValueAt ( 0 , 0 , 0 );
dtm . setValueAt ( saldoDevedor , 0 , 1 );
int i ;
for ( i = 1 ; i <= periodos ; i ++ )
{ valorJuros = saldoDevedor * taxaJuros ;
saldoDevedor = saldoDevedor - ( parcela - valorJuros );
amortizacao = parcela - valorJuros ;
totalAmortizacao += amortizacao ;
totalJuros += valorJuros ;
totalParcela += parcela ;
dtm . addRow ( new Vector ());
dtm . setValueAt ( i , i , 0 );
dtm . setValueAt ( saldoDevedor , i , 1 );
dtm . setValueAt ( amortizacao , i , 2 );
dtm . setValueAt ( valorJuros , i , 3 );
dtm . setValueAt ( parcela , i , 4 );
}
dtm . addRow ( new Vector ());
dtm . setValueAt ( "TOTAL" , i , 0 );
dtm . setValueAt ( saldoDevedor , i , 1 );
dtm . setValueAt ( totalAmortizacao , i , 2 );
dtm . setValueAt ( totalJuros , i , 3 );
dtm . setValueAt ( totalParcela , i , 4 );
}
public static void main ( String args [] ) {
Tabela tabela = new Tabela ();
}
}