RODLON escribióHola. Yo lo haria con un bucle for que empezase en 1 y llegase hasta el valor absoluto del numero imprimiendo i cada vez y sumando i de dos en dos.
Para aprender a programar es mejor intentar hacerlo tu mismo, pero ya que estoy pondré la parte principal del codigo en java, creo que esto valdria:
if(Math.abs(numero)>=4){
for(int i=3;i <= Math.abs(numero); i+=2){
System.out.println(i);
}
}
Primero comprueba si el valor absoluto del numero es mayor o igual a 4, porque si no, no hay numeros impares entre ambos.
Supongo que a ese if le pondrás un else por si el número es 3, 2 ó 1. Si el número es 2, no podrías hacer las iteraciones sumando de dos en dos, pues todos te darían pares. Igual lo he entendido mal no sé.. pero creo que a tu código le faltaría algo así.
if(Math.abs(numero)>=4){
for(int i=3;i <= Math.abs(numero); i+=2){
System.out.println(i);
}
} else {
for (int cont = 1; cont <= Math.abs(numero); cont++) {
if (cont %2 != 0) System.out.println(cont);
}
}
Por otro lado el hacer Math.abs(numero) en cada iteración del bucle no parece lo mejor de cara al rendimiento, igual sería mejor hacerlo fuera y toma ese valor luego dentro del bucle. Aunque supongo que el compilador es "listo" y hace esto por ti a la hora de pasar a bytecode el código.
Un saludo!