Java - Bucles java

 
Vista:

Bucles java

Publicado por Edatron (7 intervenciones) el 03/11/2021 20:27:16
Hola! Soy nuevo en programación y nuevo en el foro, estoy realizando un trabajo de aprendizaje que me está rompiendo la cabeza, el programa ha de calcular la cuota anual de un préstamo (este se introduce con teclado) y hasta ahí bien, pero soy incapaz de realizar el bucle para que me haga la operación de 1 a 5 años comenzando con un 2,0% y terminando en 5% (se incrementa 0,5% cada año) y la fórmula de la cuota anual es está Cuota Anual = (Préstamo*i ) / [1-(1+i) elevado a -duración. Si alguien me pudiera ayudar os lo agradecería, llevo varios días con esto y empiezo a sentirme inútil. El Math.pow siempre me da error y el bucle para que haga la operación incrementando los valores de interés y años no resuelve.. muchas gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Bucles java

Publicado por Santiago (25 intervenciones) el 03/11/2021 21:19:48
Hola:

Por favor, envía lo que tengas hecho para no tener que partir de cero y responderte acorde a lo que has trabajado (mismas variables, lógica...)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bucles java

Publicado por Edatron (7 intervenciones) el 03/11/2021 22:20:01
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
32
33
34
35
36
37
38
39
40
import java.util.Scanner;
 
public class Calculadora {
 
    public static void main(String[] args) {
        System.out.println("Este es un programa para calcular las cuotas de un préstamo");
										System.out.println("Pedirá el capital del préstamo (euros), el interés anual a pagar (%) y su duración (años)");
										System.out.println("Calculará para cada año, el capital pendiente y la cuota a pagar, intereses y amortización");
        System.out.println("Empezamos ya");
    					System.out.print("Introduce la cantidad solicitada para el préstamo:");
        Scanner sc = new Scanner(System.in);
    					double prestamo = sc.nextDouble();
										System.out.println("Estas son las cuotas a pagar para diferentes intereses y plazos");
      		 System.out.println("5 años   " + cuotaAnual);
 
    }
 
    public static double cuotaAnual() {
 
        for (double interes = 2,0 ; interes <= 5; interes + 0,5) {
        	for (int tiempo = 5; tiempo >= 1; tiempo--)   {
 
                         static double potencia (){
                               return Math.pow((1+interes) , tiempo);
                }
 
                         static double cuotaAnual() {
                              return cuotaAnual = (( prestamo * interes ) / potencia) ;
                }
           }
   }
 
 
/*
Cuota Anual = (Préstamo*i ) / [1-(1+i)-duración
Sé que el código ahora es absurdamente horrible, pero lo he borrado y reescrito mil veces, hay algo básico que no estoy entendiendo y me está martirizando
*/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bucles java

Publicado por Edatron (7 intervenciones) el 04/11/2021 01:22:39
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
import java.util.Scanner;
 
//Inicio del programa
 
public class Calculadora {
 
   public static void main(String[] args) {
      Scanner teclado;
      teclado = new Scanner(System.in);
      double cuota, i, intereses, prestamo, capitalPendiente, cuotaAnual, suma, operacion1, interesPaga, amortizacion;
      interes = 2.0;
      int duracion;
      duracion = 5;
   // Métodos
 
   System.out.println("Este es un programa para calcular las cuotas de un prestamo");
   System.out.println("Pedira el capital del prestamo (euros), el interes anual a pagar (%) y su duración (años)");
   System.out.println("Calculara para cada año, el capital pendiente y la cuota a pagar, intereses y amortizacion");
   System.out.println("Empezamos ya");
   System.out.print("Introduce la cantidad solicitada para el prestamo:");
   prestamo = teclado.nextDouble();
   System.out.println("Estas son las cuotas a pagar para diferentes intereses y plazos");
 
 
 
 
 
   /*
   System.out.print("Introduce el tipo de interés:");
   interes = teclado.nextDouble();
   System.out.println("A pagar:" + cuotAnual);
   }
         /*
         System.out.println
         */
 
      System.out.println("Año:" + duracion);
      System.out.println("Capital Pendiente:" + redondear(capitalPendiente));
      System.out.println("Cuota Anual:" + redondear(cuotaAnual));
      System.out.println("Intereses a pagar:" + redondear(intereses));
      System.out.println("Amortización:" + redondear(amortizacion));
 
      }
 
      /*
      System.out.println("Año": + duracion
      System.out.println("Capital Pendiente: 8135.19
      System.out.println("Cuota Anual: 2214.81
      System.out.println("Intereses a pagar: 284.73
      System.out.println("Amortización: 1930.08
      System.out.println("Año:" + duracion
      System.out.println("Capital Pendiente: 6205.1
      System.out.println("Cuota Anual: 2214.81
      System.out.println("Intereses a pagar: 217.18
      System.out.println("Amortización: 1997.64
      System.out.println("Año:" + duracion
      System.out.println("Capital Pendiente: 4207.47
      System.out.println("Cuota Anual: 2214.81
      System.out.println("Intereses a pagar: 147.26
      System.out.println("Amortización: 2067.55
      System.out.println("Año:" + duracion
      System.out.println("Capital Pendiente: 2139.92
      System.out.println("Cuota Anual: 2214.81
      System.out.println("Intereses a pagar: 74.9
      System.out.println("Amortización: 2139.92                                */
 
       public static void capitalPendiente() {
         double capitalPendiente = prestamo - intereses;
 
         return capitalPendiente;
      }
 
      public static void cuotaAnual() {
         double cuotaAnual= (prestamo * i / 100) / (1 - operacion1);
 
         return cuotaAnual;
      }
 
      public static void suma() {
         double suma = 1 + i;
 
         return suma;
      }
 
      public static void operacion1() {
         double operacion1 = Math.pow (suma, duracion);
 
         Return operacion1;
      }
 
      public static void interesPaga() {
         double  interesPaga = prestamo * i / 100;
 
         return interesPaga;
      }
 
 
      public static double amortizacion() {
         amortizacion = cuotaAnual - interesPaga;
 
         return amortizacion;
      }
 
 
      public static double redondear (double num) {
         num = Math.round ((num * 100) / 100);
 
         return num;
   }
 
      for(double i = 2.0 ; i >= 5.0 ; i + 0,5) {
         return i;
      }
 
      for(int duracion = 5 ; duracion >= 10 ; duracion++){
         return duracion;
      }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bucles java

Publicado por Edatron (7 intervenciones) el 04/11/2021 16:17:57
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import java.util.Scanner;
 
//Método main
 
public class Calculadora {
 
   public static void main(String[] args) {
      Scanner teclado;
      teclado = new Scanner(System.in);
 
 
   // Declaracion de los double y los int
 
   int duracion, anos;
   double prestamo, i, interes, expo, cuotaAnual, capitalPendiente, amortizacion, interesPaga, valorInteres, num;
 
 
 
   // En esta parte nos pedirá el capital del préstamo y calculará las cuotas a pagar en diferentes intereses y plazos
 
            System.out.println("Este es un programa para calcular las cuotas de un prestamo");
            System.out.println("Pedira el capital del prestamo (euros), el interes anual a pagar (%) y su duración (años)");
            System.out.println("Calculara para cada año, el capital pendiente y la cuota a pagar, intereses y amortizacion");
            System.out.println("Empezamos ya");
            System.out.print("Introduce la cantidad solicitada para el prestamo:");
            prestamo = teclado.nextDouble();
            System.out.println("Estas son las cuotas a pagar para diferentes intereses y plazos");
            for ( anos = 5; anos <= 10; anos  = anos + 1){
                  System.out.print(anos + " años");
                        for (interes = 2; interes <= 5; interes = interes + 0.5) {
                              i = interes / 100;
                																	cuotaAnual= (prestamo * i) / (1 - (1 / Math.pow((1 + i), anos)));
                              System.out.print("  " + redondear(cuotaAnual) + "(" + interes + ")");
           }
   						// Usamos este println para que nos haga el cambio de linea después de los cálculos
                  System.out.println("");
            }
 
 
 
  //  En esta segunda parte del programa nos pedirá el tipo de interés y el número de años y nos Calculará
            System.out.print("Introduce el tipo de interés:");
            interes = teclado.nextDouble();
            System.out.println("");
            System.out.print("Introduce el número de años que va a durar el préstamo:");
            duracion = teclado.nextInt();
 
 
            for ( anos = 1 ; anos <= duracion; anos = anos + 1) {
                  i = interes / 100;
                  cuotaAnual= (prestamo * i) / (1 - (1 / Math.pow((1 + i), anos)));
                  interesPaga = cuotaAnual * i;
                  amortizacion = cuotaAnual - interesPaga;
                  capitalPendiente = prestamo - amortizacion;
                  valorInteres = cuotaAnual - amortizacion;
                  amortizacion = cuotaAnual - valorInteres;
            prestamo = prestamo - amortizacion;
            							System.out.println("Año:" + anos);
                  System.out.println("Capital Pendiente:" + capitalPendiente);
                  System.out.println("Cuota Anual:" + cuotaAnual);
                  System.out.println("Intereses a pagar:" + valorInteres);
                  System.out.println("Amortización:" + amortizacion);
 
                }
 
   }
         public static double redondear (double num) {
         num = Math.round((num * 100) / 100);
         return num;
         }
 
 
 
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bucles java

Publicado por Santiago (25 intervenciones) el 04/11/2021 20:52:31
Hola:

Mira si te encaja esto:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import java.util.Scanner;
 
public class Calculadora {
 
    public static void main(String[] args) {
        System.out.println("Este es un programa para calcular las cuotas de un préstamo");
		System.out.println("Pedirá el capital del préstamo (euros), el interés anual a pagar (%) y su duración (años)");
		System.out.println("Calculará para cada año, el capital pendiente y la cuota a pagar, intereses y amortización");
        System.out.println("Empezamos ya");
    	System.out.print("Introduce la cantidad solicitada para el préstamo:");
        Scanner sc = new Scanner(System.in);
    	double prestamo = sc.nextDouble();
		System.out.println("Estas son las cuotas a pagar para diferentes intereses y plazos");
      	//System.out.println("5 años   " + cuotaAnual(prestamo)); //Aquí te faltaban los paréntesis
      	calcularCuota(prestamo); //Aquí te faltaban los paréntesis
    }
 
    public static void calcularCuota(double prestamo) {
 
    	// Cuota Anual = (Préstamo * i ) / [1-(1+i) elevado a -duración
 
    	double nDivisor;
    	double nCuotaAnual;
    	double interes;
    	double interesPorcentaje;
 
    	interes = 2.0;
        for (interes = 2.0 ; interes <= 5; interes+=0.5) {
        	interesPorcentaje=interes/100;
        	for (int tiempo = 5; tiempo >= 1; tiempo--)   {
        		nDivisor = divisor(interesPorcentaje, tiempo);
        		nCuotaAnual=cuotaAnual(prestamo, interesPorcentaje, nDivisor);
        		System.out.println("Interes: " + Double.toString(interes) + "; Tiempo: " + Integer.toString(tiempo) + "; Cuota: " + Double.toString(nCuotaAnual));
            }
        }
   }
 
   private static double divisor(double interes, int tiempo){
        return Math.pow((1 + interes) , (-1) * tiempo);
   }
 
   private static double cuotaAnual(double prestamo, double interes, double divisor) {
       return (( prestamo * interes ) / divisor) ;
   }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar