Programa en Java para calcular intereses compuestos

/ / este programa determina la cantidad de dinero que se suma al 8%
con el tiempo (restando el 30% al mes de impuestos.
Ejecutar este programa desde la línea de comandos.
Usuario se le pedirá que ingrese el número de años que quieren invertir,
cantidad que se quiere depositar cada mes y la cantidad inicial.
Resultados enviados al archivo de pantalla y texto.
Distribuido bajo la GPL de GNU: www.gnu.org

importar el javax.swing.JOptionPane;
Import java.io.*;
importación java.text.DecimalFormat;

clase Compound9
{/ / Comienzo clase Compound9
Declarar variables
flotador de mike mike2 mike3, mike4;
interés del flotador;  Monto de intereses
cantidad de flotador, amount2;    Monto inicial invertido
doble i = 1;
meses de flotador, meses2;   Cantidad de dinero de meses va a ser
depositado/invertido; calculada a partir de años
Float MonthlyAmount;  Importe depositado cada mes
inicial de flotador, initial2; Depósito inicial
años, flotador hotel2, hotel3;
int n;
Línea de cadena;

Bravo cadena;
Charlie de la cadena;
int delta, redhat;
int eco;
int foxtrot;

Método para solicitar usuario para entrar en el número de años
Método devuelve float
flotador NumberYears() lanza java.io.IOException
{/ / Método de NumberYears del comienzo
int delta = 0;
hotel flotante;  Cantidad de dinero de años va a ser depositado/invertido
Hotel = 0;
Alpha cadena;
{}
trate de {}
Imprimir entrada pregunta a pantalla
System.out.println ("\nHow muchos años ¿desea invertir?");
Utilice la secuencia de entrada estándar en la clase de sistema, teclado de la alimentación
en la variable "isr" de la clase InputStreamReader
InputStreamReader isr = nuevo InputStreamReader(System.in);
Para datos de variable "isr" en la variable "br" de la clase BufferedReader
BufferedReader br = new BufferedReader(isr);
El lector protegido "br" de la lectura en la variable "alfa" de la cadena
Alpha = br.readLine();
Cadena "alfa" del molde en un flotador y devolver el resultado
a la parte principal del programa
Hotel = (Float.parseFloat(alpha));
Delta ++;  Incremento hacer-mientras que la variable bandera si se introduce un número
} / / final de bucle de prueba

catch (IOException golf) {/ / iniciar el catch de IOException
System.out.println ("IO Error - error capturado:" + golf.getMessage());
golf.printStackTrace();
} / / End catch Exception IO

Capturar la excepción si se especifica letra
{} catch (NumberFormatException echo)
System.out.println ("usted no entró un número.");
System.out.println ("Error capturado; introducido: "+ echo.getMessage());
echo.printStackTrace();
Cuando el programa llega a este punto, el delta sigue siendo 0
por lo tanto no le el lazo otra vez
} / / Fin de captura
} / / End do
mientras que (delta == 0);
Devuelve el valor en el hotel al programa principal
volver a hotel;
} / / Fin NumberYears método

Método para obtener cantidad depositada mensualmente del usuario
flotador MonthlyDeposit() lanza java.io.IOException
{/ / Método de MonthlyDeposit del comienzo
hacer
{/ / Inicio de bucle
tratar de
{/ / Inicio trate de sección
Imprimir entrada pregunta a pantalla
System.out.println ("\nHow mucho quiero depositar cada mes?");
Utilice la secuencia de entrada estándar en la clase de sistema, teclado de la alimentación
en la variable "isr" de la clase InputStreamReader
InputStreamReader isr = nuevo InputStreamReader(System.in);
Para datos de variable "isr" en la variable "br" de la clase BufferedReader
BufferedReader br = new BufferedReader(isr);
Lectura al lector protegido "br" en la cadena variable "bravo"
Bravo = br.readLine();
"Bravo" de cadena del molde en un flotador
hotel2 = Float.parseFloat(bravo);
Si se produce la excepción en la línea de antes, foxtrot ++ se omitirá
Foxtrot ++;
} / / Fin de la sección de prueba

{} catch (IOException radiografía)
System.out.println ("IO Error - error capturado:" + xray.getMessage());
xray.printStackTrace();
} / / Fin IOException

Capturar la excepción si se especifica letra
{} catch (NumberFormatException hp)
System.out.println ("usted no entró un número.");
System.out.println ("Error capturado; introducido: "+ hp.getMessage());
hp.printStackTrace();
Foxtrot es cero en este punto
} / / Fin de captura para NumberFormatException
} / / Final de bucle
Bandera que determina cuando hacer-mientras que los extremos del lazo
mientras que (foxtrot == 0);
volver hotel2;
} / / Fin MonthlyDeposit método

Método InitialAmount obtiene la cantidad inicial invertida
flotador InitialAmount() lanza java.io.IOException {}
{/ / Inicio de bucle
trate de {}
System.out.println ("\nHow mucho es la inversión inicial?");
Alimentación de entrada de teclado en InputStreamReader "isr"
InputStreamReader isr = nuevo InputStreamReader(System.in);
Alimentan InputStreamReader BufferedReader
BufferedReader br = new BufferedReader(isr);
Leer el BufferedReader en variable "charlie"
Charlie = br.readLine();
Echado la cadena "charlie" en flotador y poner en la variable "hotel3"
hotel3 = (Float.parseFloat(charlie));
Incremento hacer-mientras que la variable bandera si se introduce un número
RedHat ++;
} / / Fin de la sección de prueba

{} catch (IOException redhat2)
System.out.println ("IOError - cogido de error:" + redhat2.getMessage());
redhat2.printStackTrace();
} / / Fin IO catch declaración

{} catch (NumberFormatException suse)
System.out.println ("usted no entró un número");
suse.getMessage();
suse.printStackTrace();
} / / Fin de captura NumberFormat
} / / Final de bucle
mientras que (redhat == 0);
volver hotel3;
} / / Fin InitialAmount método

Método NegativeCheck comprueba si un número negativo
Float NegativeCheck(float kilo) {}
Si (kilo < 0) {}
System.out.println ("introduce un número positivo.");
Mike = 0;
} / / Fin si declaración
Else {}
Mike = 1;
}
volver a mike;
} / / Fin NegativeCheck

Float months() / / método para calcular el número de meses
{
meses = años * 12;
System.out.println ("el número de meses es:" + meses);
volver a meses;
}

Método para calcular el interés, imprimir a la
la pantalla y escribir en un archivo
Float calcular (float months3, initial2 de flotador)
{
probar / / Loop para intentar escribir en un archivo
{
Archivo temp = new File("Compound9.txt"); Crear nuevo archivo
FileWriter fw = nuevo FileWriter(temp); Crear nuevo FileWriter
BufferedWriter out = nuevo BufferedWriter(fw); / / crear nuevo BufferedWriter
Pasar initial2 a la variable "cantidad"
cantidad = initial2;

Calcular el interés durante el primer mes
Calcular el interés mensual (.08/12)
crecimiento anual del 8% (promedio histórico de las poblaciones)
interés = (float) (cantidad *. 00667);
impuestos del 20% sacados
interés = (float) (interés *. 8);
Interés añadido al funcionamiento total
cantidad = (cantidad + intereses);
El resultado con 2 decimales y el formato de poner una coma en (estilo de los E.E.U.U.)
DecimalFormat roundTwo = new DecimalFormat("###,###,###,###.##");
Información colocada en el objeto de la cadena "línea" para ser enviado al archivo
linea = ("La cantidad después de" + i + "meses es $" + roundTwo.format(amount) + "\n");
Información enviada a la pantalla
System.out.println ("La cantidad después de" + i + "meses es $" + roundTwo.format(amount));
Escribir la cadena "línea" al archivo
out.Write(line);
Nota: La razón de que el primer mes el interés es independiente del bucle principal es
porque quería asegurarse de que sólo se calculan el interés del primer mes
para el depósito inicial, no el depósito y depósito del primer mes.
Lazo se calcula por mes 2 en adelante
Inicio de bucle determinar compuestos de interés; limitada por el número de meses
para (i = 2; i < = months3; i ++)
{
Añadir depósito mensual a cantidad total
cantidad = (cantidad + MonthlyAmount);
Calcular el interés mensual (.08/12)
crecimiento anual del 8% (promedio histórico de las poblaciones)
interés = (float) (cantidad *. 00667);
impuestos del 20% sacados
interés = (float) (interés *. 8);
Interés añadido al funcionamiento total
cantidad = (cantidad + intereses);
El resultado con 2 decimales y el formato de poner una coma en (estilo de los E.E.U.U.)
DecimalFormat roundTwo = new DecimalFormat("###,###,###,###.##");
Información colocada en el objeto de la cadena "línea" para ser enviado al archivo
linea = ("La cantidad después de" + i + "meses es $" + roundTwo.format(amount) + "\n");
Información enviada a la pantalla
System.out.println ("La cantidad después de" + i + "meses es $" + roundTwo.format(amount));
Escribir la cadena "línea" al archivo
out.Write(line);
} / / Fin de bucle
out.Close(); Archivo de texto muy
} / / Final de bucle de prueba

retén (excepción e) {/ / capturar la excepción si no escribir archivo
System.out.println ("ha ocurrido un error:" + e.toString());
} / / Fin de captura
devolver la cantidad;
} / / Fin calcular método

Método principal del comienzo, que programa a excepción de IO
el principal vacío estático público (argumentos de cadena []) lanza java.io.IOException
{
Solicitar usuario para próximas dudas con el cuadro de diálogo
JOptionPane.showMessageDialog)
null, "por favor responda las siguientes preguntas.");

Crear nuevo tirador llamado "foxtrot" de tipo "Compound9"
Conecte manubrio a nuevo objeto "Compound9"
Compound9 foxtrot = nuevo Compound9();

Obtener el número de años
{}
retorno variable "hotel" es que pasa en la variable "años"
Foxtrot.years = foxtrot. NumberYears();
pasar variable "años" en el método de NegativeCheck
resultado entra "mike2"
Foxtrot.MIKE2 = foxtrot. NegativeCheck(foxtrot.years);
} / / End do
Si "mike" es igual a 0, se pide la información de nuevo usuario
while(Foxtrot.MIKE2 == 0);
System.out.println ("el número de años que escribiste es:" + foxtrot.years);

Importe por mes a depositar
{}
retorno variable "hotel2" se pasa a la variable "MonthlyAmount"
Foxtrot. MonthlyAmount = foxtrot. MonthlyDeposit();
pasar variable "MonthlyAmount" en NegativeCheck método
resultado entra "mike3"
Foxtrot.mike3 = foxtrot. NegativeCheck (Fox-Trot. MonthlyAmount);
} / / Final de bucle
Si mike3 es 0, se pide usuario para la entrada de nuevo
mientras que (foxtrot.mike3 == 0);
System.out.println ("la cantidad por mes ingresado es:" + foxtrot. MonthlyAmount);

Importe inicial que se depositará
{}
Devolver la variable "redhat" y colocar en la variable "inicial"
Foxtrot.Initial = foxtrot. InitialAmount();
Pasar "inicial" a la NegativeCheck método y resultado vuelta en "mike4"
Foxtrot.mike4 = foxtrot. NegativeCheck(foxtrot.initial);
} / / "mike4" es 0, se pedirá usuario entrada
mientras que (foxtrot.mike4 == 0);
System.out.println ("la cantidad inicial ingresada es:" + foxtrot.initial);

Llame al método para determinar el número de meses de meses
Foxtrot.months2 = foxtrot.months();
Call calcular el método para calcular el interés
Foxtrot.amount2 = foxtrot.calculate (foxtrot.months2, foxtrot.initial);

Crear objeto "roundTwo" de la clase DecimalFormat a formatear correctamente la salida de pantalla

DecimalFormat roundTwo = new DecimalFormat("###,###,###,###.##");

Resultados de mostrar al usuario en línea de comandos
System.out.println ("\nThe la cantidad inicial de $" + foxtrot.initial + "después de agregar $" + foxtrot. MonthlyAmount + "por mes");
System.out.println ("para" + foxtrot.years + "años y crece a 8% por año (con 20% sacado por impuestos)");
System.out.println ("se convierte en >>>>>>>> $" + roundTwo.format(foxtrot.amount2) + "<<<<<<<<<" + "\n");
System.out.println ("Esto se ha escrito en un archivo de texto llamado: compound9.txt.\n");

Mostrar los resultados al usuario en el cuadro de diálogo
JOptionPane.showMessageDialog)
null, "La cantidad de la cantidad inicial de $" + foxtrot.initial + "después de agregar $" + foxtrot. MonthlyAmount + "mensuales" + foxtrot.years + "\n años y crece a 8% por año (con 20% sacado por impuestos) se convierte en >> $" + roundTwo.format(foxtrot.amount2) + "\n esto se ha escrito en un archivo de texto llamado: compound9.txt.");
System.Exit (0);

} / / Cerrar método main()
} / / Cierre de la clase compound9

Etiquetas: Programación, Java

Artículos Relacionados

: Aprendizaje su primer programa en Java!

: Aprendizaje su primer programa en Java!

Programación es divertida, interesante pasatiempo que todo el mundo debería aprender. Con equipo de programación o codificación, la gente da una computadora básica, simples comandos que agregan hasta crear un programa complejo, útil o divertido que s
Método para calcular cuadrados de números del 1 al 125, sin usar lápiz o calculadora.

Método para calcular cuadrados de números del 1 al 125, sin usar lápiz o calculadora.

Esta es una de las más interesantes técnicas de matemáticas Védicas para aprender. Es muy fácil entender y recordar. Esto le ayudará a hacer cálculos rápidos que de lo contrario son largos.Basta recordar cuadrados de números de 1 a 25. Se adjunta el
Utilizando cuadros de Punnett para calcular probabilidades fenotípicas

Utilizando cuadros de Punnett para calcular probabilidades fenotípicas

IntroducciónFondoCuadrados de Punnett es un diagrama que biólogos para determinar la probabilidad de una descendencia con un rasgo particular. Crear un cuadrado de Punnett y utilizando para determinar características de la descendencia se denomina re
Configuración de Java para principiantes

Configuración de Java para principiantes

Este instructable es escenificando su computadora para poder escribir tu propia compilación de código y ejecutar java sin utilizar el programa NetBeans y su todo el software libre.Java es un lenguaje de programación originalmente desarrollado por Jam
Usando Java para rotar un objeto para hacer frente al ratón

Usando Java para rotar un objeto para hacer frente al ratón

si alguna vez ha usado API 2D de Java probablemente has querido saber cómo hacer un personaje se enfrente con el ratón. ¿Así consiguió en google y busqué y adivinen qué? NO HAY NINGÚN RESULTADO RELEVANTE. Ah. Así pasé una hora averiguar cómo utilizar
Cómo escribir el primer programa en JAVA

Cómo escribir el primer programa en JAVA

Con el fin de empezar a escribir programas en Java, configurar su entorno de trabajo.Cualquier tipo de programa de Bloc de notas-como será suficiente para la programación en Java.Asegúrese de que tiene el Kit de desarrollo de Software de Java instala
Cómo escribir programas en JAVA

Cómo escribir programas en JAVA

¿eres perezoso?¿Es increíblemente perezoso?Bien, ¿por qué hacer una cosa más, cuando usted puede hacer que la computadora lo haga por usted???Este instructivo pretende para abrir las puertas a su impresionante experiencia de programación de computado
Programa de chat para lote!

Programa de chat para lote!

Bien por lo que soy un programador experimentado lote y yo hemos hecho un sencillo programa que envía mensajes a los usuarios!También quiero agradecer el programa de shotgunshane para obtener ayuda.Así que aquí va!Paso 1: Conseguir el ritmo! Altament
Programación Java para principiantes absolutos

Programación Java para principiantes absolutos

Hola! Mi conjetura es que si has tropezó con este instructable quiere aprender a programar con java! (O al menos así lo espero). De todos modos, decir no sabes absolutamente nada sobre java (o a nada, o simplemente quiere aprender más) entonces este
Cómo hacer Portable / programa de java Jdk independiente

Cómo hacer Portable / programa de java Jdk independiente

Hellow todos, quería realizar programa java portable que podría correr en cualquier máquina (sin jdk o jre). Así que después de realizar pocos los experimentos me maded un paquete que puede ejecutar clases javabásico en cualquier máquina de windows e
Cómo codificar un programa en Java

Cómo codificar un programa en Java

Por: Matthew D. PerryPaso 1: Lea sobre lo que tienes que hacerNo importa lo que usted va al código, el programa tiene que tener un punto. Si es una simple salida de "¡ Hola mundo!", una calculadora completamente funcional o algo aún más complejo
Pequeño programa en Java utilizando expresiones regulares

Pequeño programa en Java utilizando expresiones regulares

/ / este programa será probar expresiones regularesa un archivo de petición de entradas de usuario en el programa.Distribuido bajo la GPL de GNU: www.gnu.orgImport java.io.*;Import java.util.regex.*;clase regex1 {}público estático principal vacío (ca
Calculadora de flujo de efectivo para calcular la tasa de la cartera de retorno

Calculadora de flujo de efectivo para calcular la tasa de la cartera de retorno

Una calculadora de flujo de efectivo se ha convertido en una necesidad en la vida de hoy. Facilita hacer un plan de personal y Finanzas empresariales. Esta calculadora ha hecho más fácil para muchas personas comprender los diagramas de flujo de efect
Programa tu PC para apagar automáticamente por asignándolos que vez que queramos

Programa tu PC para apagar automáticamente por asignándolos que vez que queramos

bueno, eso es otra instructabel de mi vida diaria...última vez que tuve que descargar un montón de software a mi PC y tuve que dejarlo Descargar toda la noche, no quería mantener mi PC encendida toda la noche desea después de terminar las descargas y