Dudas con función en java

Kandra04

Buenas! Estoy intentado hacer una función que recibe dos números enteros y muestra la sucesión de números desde el mayor al menor, nada complicado. Sin embargo cuando hago la llamada desde otra función pasándole los dos números y ejecuto el código funciona todo menos la función de la sucesión. El código es este:

public static void progresionDescendiente(int superior, int inferior) {
		
	for (int i=superior;i<=inferior;i--) {
		
		System.out.println(i);
		
	}
	
}

Y aquí hago la llamada desde otra función:

public static void multiplicaYProgresion () {
		
	int numero1, numero2, mayor, menor;
	
	numero1=pideEntero("- Multiplicación de dos números \nIntroduce el primer número entero");
	
	numero2=pideEntero("Introduce el segundo número entero");
	
	if (numero1>numero2) {
		
		mayor=numero1;
		
		menor=numero2;
		
	}
	
	else {
		
		mayor=numero2;
		
		menor=numero1;
		
	}

progresionDescendiente(mayor, menor);

No busco que me hagáis el ejercicio, simplemente una pequeña indicación de hacia dónde ir. Gracias :D

Soulscx

#1

int i=superior;i<=inferior;i--

yo pondria

int i=superior;i>inferior;i--

entiendo que quieres ir de mayor a menor, pero si i empieza en superior nunca es menor que inferior por lo que no debe hacer ninguna vuelta en el bucle.
O cambiar inferior por superior y viceversa, creo q tb funcionaría

2 respuestas
dabolbi

#2 /thread

1
Kandra04

#2 Efectivamente era eso, que fallo más tonto. Había probado mil cosas, incluso lo he dejado reposar un par de días pero no había manera. Muchas gracias ^^

1 respuesta
varuk

#4 Cuando pasen esas cosas ya sabes, pones

 "System.out.println("punto 1"); 

por el código y vas viendo por donde pasa... entonces si ves que no entraba al bucle pues ya coges un papel y sigues en papel y lapiz el ejemplo.

Nunca falla.

1 1 respuesta
Kandra04

#5 Gracias por el consejo, lo pondré en practica la próxima vez que me quede atascado, que seguro que es muy pronto jaja

1 respuesta
Xancros

#6 Si no, en vez de hacer los prints, usa los "break points" y haces debug del proceso y vas pasito a pasito.

1 respuesta
varuk

#7 Bueno sí, xD, mejor que imprimir valores es ir haciendo el modo debug y poner break e ir dando al "play" y e ir viendo paso a paso... Tiré por el modo guarro.

Usuarios habituales

  • varuk
  • Xancros
  • Kandra04
  • dabolbi
  • Soulscx