Escribir un subprograma de Java~~
Captura de pantalla: El significado general de la pregunta traducida y el código del programa: Traducción: Escriba un programa que pueda mostrar el monto de pago mensual del préstamo hipotecario y el saldo pendiente, y luego mostrar cuánto del pago es Interés pagos y cuánto es el reembolso del principal (es decir, qué parte del pago se utiliza realmente para reducir la deuda). Supongamos que la tasa de interés anual es del 7,49%. Nombra una constante para representar la tasa de interés. Tenga en cuenta que los reembolsos se realizan mensualmente, por lo que la tasa de interés es solo 1/12 de la tasa de interés anual de 7,49.
Código: Nota: Hay dos métodos de pago mensual para préstamos hipotecarios: pago de capital y pago de capital e intereses. La pregunta requiere programación de acuerdo con el método "pago de capital e intereses". En el programa, escribí ambos métodos de pago. ¡Hay comentarios en lugares clave!
importar java.text.NumberFormat;
importar java.util.Scanner;
clase pública Reembolsar {
final double NLL= 0.0749; //Tasa de interés anual
final double MLL=NLL/12; //Tasa de interés mensual
final int MONTH=12; //Número de pagos
int mes=1;
public static void main(String[] args){
Reembolsar rp=new Repay();
rp.payback ();
}
public void payback(){
System.out.println("Ingrese el monto del préstamo");
//Obtener monto del préstamo
Scanner sc=new Scanner(System.in);
double deuda=sc.nextDouble();
NumberFormat fn=NumberFormat. getInstance();
fn.setMaximumFractionDigits(2);
Cadena nll=fn.format(NLL*100)+"%";
String mll =fn.format(MLL*100)+"%";
String deuda_fn=fn.format(deuda);
System.out.println("Por favor seleccione el método de pago: Ingrese 1 para seleccionar un pago igual de capital, ingrese 2 para seleccionar un pago igual de capital e intereses");
int mode=sc.nextInt();
// Pago de capital igual
if(mode==1){
System.out.println("Su préstamo total ***"+debt_fn+"; método de pago: pago de capital igual; Tiempo de pago: 1 año "+"; la tasa de interés anual es: "+nll+" tasa de interés mensual "+mll);
System.out.println("Detalles de pago a plazos");
doble mesPincipal=deuda/12; //amortización mensual del principal
deuda=mesPincipal*12;
doble acumulaciónM; //intereses de amortización mensual
double tm; //Monto de pago mensual
//Detalles de pago a plazos
while(debt>=1){
accrualM=debt*MLL;
tm=mesPincipal+acumulaciónM;
deuda=deuda-mesPincipal;
if(deuda<1){
deuda=0;
}
//Formatear los decimales a 2 dígitos
String tm_fn=fn.format(tm);
String m;
onthPincipal_fn=fn.format(mesPincipal);
String accrualM_fn=fn.format(accrualM);
String deuda_fn2=fn.format(deuda);
System.out.println("Monto de pago mensual de "+mes+": "+tm_fn+" Pago de capital este mes: "+monthPincipal_fn+" Intereses de pago este mes: "+accrualM_fn+" Principal restante: "+debt_fn2);
mes++;
}
}
//Reembolso igual de principal e intereses
if(mode= =2) {
System.out.println("Su préstamo total***"+debt_fn+"; método de pago: pago igual de capital e intereses; tiempo de pago: 1 año"+"; tasa de interés anual Es: " +nll+";tasa de interés mensual"+mll);
//La fórmula para el pago mensual de capital e intereses iguales
doble X=deuda*MLL*(Math. pow ((1+MLL), MES))/(Math.pow((1+MLL), MES)-1);
String X_fn=fn.format(X);
System.out.println("Su pago mensual es: "+X_fn);
//Detalles del pago a plazos
double lixiM,benjinM; // Interés mensual, capital mensual
System.out.println("Detalles del pago a plazos");
while(deuda>=1){
lixiM=deuda *MLL;
benjinM=X-lixiM;
deuda=deuda-benjinM;
if(deuda<1 ){
deuda=0;
}
//Salida
Cadena lixiM_fn=fn.format(lixiM); p>
Cadena benjinM_fn=fn .format(benjinM);
String deuda_fn3=fn.format(deuda);
System.out.println("th"+mes+ "Monto de pago mensual:" + >
mes++;
}
}
}
}