no sé si hay una manera más sencilla o si alguien sabe cómo puedo hacer para que cada año aplique una comisión???
He avanzado en la cuestión respecto al de la mañana
He creado 2 variables para cada caso, añoActual, mesActual, añoInventado, mesInventado y en cada uno almaceno su valor.
Y mediante if consigo que me diga que son iguales si son el mismo mes y año o que son diferentes si cambia el mes o el año.
Ahora la idea es ingeniármelas para ver como hacer para que cuando sea el mismo mes , pero año+1, cuente 1 un contador.(en realidad un banco se cobra una comisión de Mto anual de una cuenta personal).
El código es el siguiente:
public class PruebaFecha {
public static void main(String[] args) {
//fecha actual
Calendar fechaActual = Calendar.getInstance();
fechaActual.getTime();
int añoActual = fechaActual.get(Calendar.YEAR);
int mesActual = fechaActual.get(Calendar.MONTH);
//para ver los datos
System.out.print("año actual: " + añoActual);
System.out.println(" mes actual: " + mesActual);
//Aqui juego con el año y mes, si lo dejo a 0 es igual que la actual,
//si le pongo un entero positivo ya cambia entonces pasa al Else y me dá diferente
Calendar fechaInventada = Calendar.getInstance();
fechaInventada.add(Calendar.YEAR, 0);
fechaInventada.add(Calendar.MONTH, 2); //aquí le sumo 2 meses para que me dé diferente
int añoInventado = fechaInventada.get(Calendar.YEAR);
int mesInventado = fechaInventada.get(Calendar.MONTH);
//para ver los datos
System.out.print("año inventado: " + añoInventado);
System.out.println(" mes inventado: " + mesInventado);
//comparo año y mes
if (añoActual == añoInventado) {
if (mesActual == mesInventado) {
System.out.println("son iguales");
} else {
System.out.println("son diferentes");
}
} else {
System.out.println("son diferentes");
}
}
En este caso la consola me dice que son diferentes porque le añadido 2 meses a la inventada,
Aquí esta el resultado por consola:
run:
año actual: 2017 mes actual: 4
año inventado: 2017 mes inventado: 6
son diferentes
BUILD SUCCESSFUL (total time: 0 seconds)