Que en Paz descanse :

en donde las cosas no tienen sentido

 


Archivos
Feb 06 [3]
Ene 06 [13]
Dic 05 [30]
Nov 05 [30]
Oct 05 [1]
Sep 05 [1]
Jun 05 [1]
Mar 05 [1]
Ene 05 [1]
Dic 04 [2]
Oct 04 [1]
Sep 04 [1]
Ago 04 [2]
Jul 04 [2]
Mayo 04 [1]
Abr 04 [4]
Mar 04 [3]


Sindicación
Artículos
Comentarios


Enlaces
1.Album.de.Fotos
2.Album.de.Fotos
3.Album.de.Fotos
mi.ex.blog


Recomendados
erectus
HemorroIdeas
Juan27







mfg@jabberes.org
 
Inicio | Mi Perfil | Enviar artículo | Suscríbete al blog
 

Mas Codigo Java: Tabla de Amortizacion

Enlace permanente 13 de Diciembre, 2005, 14:47

Siguiendo con esta orgia de codigo Java inservible para nada mas que a los estudiantes de Informatica, ahora presento el siguiente caso: Un codigo capaz de entregar una tabla de amortizacion debidamente formateada en sus detalles numericos (con solo dos decimales) y que debe obtenerse a partir de algunos valores basicos entregados via entrada estandar (teclado) por le usuario: Tasa de Interes, Valor Cuota, Deuda Original, Fecha de Inicio y Tiempo de Pago.




import java.text.DecimalFormat;
import java.io.*;

public class CalculoCredito {
  /**
  * Todos los atributos 'double' seran formateados
  * para que aparescan con solo dos cifras despues de la coma.
  */
  public DecimalFormat DoubleFormat = new DecimalFormat("0.00");
 
  /**
  * Definicion de Variables
  */
  public double credito;
  public double tasa;
  public double cuota;
  public double intereses;
  public double amortiz;
  public double resto;
  public double cuotaSUM;
  public double interesSUM;
  public double amortizSUM;
  public int anyo;
  public int mes;
  public int tiempo;

CalculoCredito(double startCredito, double laCuota,
      double tasaSatz, int startMes, int startAnyo,
      int laufTiempo) {
      credito = resto = startCredito;
      tiempo = laufTiempo;
      tasa = tasaSatz;
      cuota = laCuota;
      mes = startMes;
      anyo = startAnyo;
      interes = amortiz = 0.0;
  }


  public static void main(String[] args) throws IOException {
      int error = 1;
      do {
          try {
              CalculoCredito CreditoCuotas = new
              CalculoCredito(Input( "Total Credito" ),
              Input( "Cuota ( Credito > Cuota > 0 )" ),
              Input( "Tasa de Interes ( 0 - 100 )" ),
              ( int )Input( "Mes ( 1 - 12 )" ),
              ( int )Input( "Anyo ( => 2006 )" ),
              ( int )Input( "Periodo de Tiempo ( en Anyos => 1 )" ) );
              CreditoCuotas.checkEntradas();
              CreditoCuotas.printHeader();

              do {
                  CreditoCuotas.resultado();
              } while ( CreditoCuotas.resto > 0.0 );
              error = 0;
          }
          catch ( Except e ) {
              System.out.println( e.toString() );
          }
          catch ( NumberFormatException e ) {
              System.out.println( "Por Favor Hagalo Bien! " +
              "Por Favor, intentelo Nuevamente. " +
              "=============================== " );
          }
      } while (error == 1);
  }


  public static double Input( String s ) throws IOException,
    NumberFormatException {
    BufferedReader Input = new BufferedReader (
      new InputStreamReader( System.in ));
      System.out.print( "Por favor ingrese " + s );
      String InputString = Input.readLine();
      return Double.parseDouble( InputString );
  }

  public void printHeader() {
    System.out.println(" Calculo de Tasa de Amortizacion con "
        + "Cuotas de Igual Valor " +
        "Tasa nominal: " + DoubleFormat.format( tasa ) +
        "% Credito Inicial: " + DoubleFormat.format( credito ) +
        " EUR " + "Tiempo: " + tiempo +
        " Anyo(s) Inicio: " + mes + "/" + anyo + " " +
        "Mes" + " " + "Cuota"+" " + "Intereses" +
        " " + "Amortizacion" + " " + "Resto");
  }

  public void print() {
    if ( mes >= 10 ) {
        System.out.println( mes + "." + anyo + " " +
            DoubleFormat.format( cuota ) + " EUR " +
            DoubleFormat.format( interes ) + " EUR " +
            DoubleFormat.format( amortiz ) + " EUR " +
            DoubleFormat.format( resto ) + " EUR");
    } else {
        System.out.println(" " + mes + "." + anyo + " " +
            DoubleFormat.format( cuota ) + " EUR " +
            DoubleFormat.format( interes ) + " EUR " +
            DoubleFormat.format( amortiz ) + " EUR " +
            DoubleFormat.format( resto ) + " EUR");
    }
  }


  public void resultados() {
      if (zinsen != 0.0)
        monat++;
      if (mes > 12) {
        mes = 1;
        anyo++;
        System.out.println("Summen: " +
        DoubleFormat.format( cuotaSUM ) + " EUR " +
        DoubleFormat.format( interesSUM ) + " EUR " +
        DoubleFormat.format( amortizSUM ) + " EUR p.a. " +
        "Zahlmonat" + " " + "Rate"+" " + "Zinsen" +
        " " + "Tilgung" + " " + "Rest");
        ratenSUM = zinsenSUM = tilgungSUM = 0;
      }

    zinsen = (int)(rest * zins) / 1200.0;
    tilgung = rate - zinsen;
    rest = rest - tilgung;
    ratenSUM += rate;
    zinsenSUM += zinsen;
    tilgungSUM += tilgung;
    if (rest > 0.0) {
        print();
    } else {
        System.out.println("Summen: " +
            DoubleFormat.format(ratenSUM) + " EUR " +
            DoubleFormat.format(zinsenSUM) + " EUR " +
            DoubleFormat.format(tilgungSUM) + " EUR p.a. ");
    }
}

public void checkEntradas() throws Except {
      if(kredit <= 0.0)
            throw new Except( "
Debe Ingresar un Valor Correcto Para el Credito " +
                                "
! Por Favor Intente de nuevo. " +
                                "=========================== " );
      if(kredit <= rate)
            throw new Except( "
Debe Ingresar un Valor Correcto Para la Cuota " +
                                "
! Por Favor Intente de nuevo. " +
                                "=========================== " );
      if(zins <= 0.0 || zins >= 100.0)
            throw new Except( "
Debe Ingresar un Valor Correcto Para la Tasa " +
                                "
! Por Favor Intente de nuevo. " +
                                "============================ " );
      if(monat < 0 || monat > 12 || jahr < 2006)
            throw new Except( " Debe Ingresar un Valor Correcto Para Fecha " +
                                "! Por Favor Intente de nuevo. " +
                                "============================ " );
      if(zeit <= 0)
            throw new Except( " Debe Ingresar un Valor Correcto Para el " +
                                "Tiempo! Por Favor Intente de nuevo. " +
                                "============================ " );
        }
}

class Except extends Exception {
    private String s;

    public Except(String e) {
        s = e;
    }

    public String toString() {
        return s;
    }
}




Comentarios 2 ~ Comentar | Referencias (0)
Etiquetas:



Blog alojado en ZoomBlog.com

 

 

<<   Diciembre 2005  >>
LMMiJVSD
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Categorías
General [2] Sindicar categoría
Artes [2] Sindicar categoría
Bloggs [8] Sindicar categoría
Codigo [4] Sindicar categoría
Criticon [9] Sindicar categoría
Generalisimo [7] Sindicar categoría
Jabber [7] Sindicar categoría
JavaOpinion [2] Sindicar categoría
Linux [17] Sindicar categoría
Literatura [3] Sindicar categoría
OpenSoftware [9] Sindicar categoría
Politica [6] Sindicar categoría
Recetas [12] Sindicar categoría
SinCabida [13] Sindicar categoría
SoftOpinion [10] Sindicar categoría
Tips [4] Sindicar categoría

 




un.album.cool
This is a Flickr badge showing public photos from MiAlbum. Make your own badge here.

otro.album.cool