# using "while" loop to output all odd numbers

Hi:
I'm trying to use a while loop to prompt the user to input 2 integers: firstNum & secondNum (firstNum must be less than secondNum).
well, this step is easy for me,
but, i'm having a little bit problem getting the right equation of outputting all odd numbers between these 2 integers.
Here's my codes:

import java.io.*;
import java.util.*;

public class WhileLoops
{

public static void main(String[] args) throws IOException
{
int firstNum, secondNum, n;
int rem;

n = 0;

System.out.flush();

System.out.print("please enter another one that is larger than the first integer: ");
System.out.flush();

rem = firstNum % 2;

while(firstNum < (secondNum - 2))
{
if(rem == 0)
{
firstNum = firstNum + (2*n + 1);
System.out.print(firstNum + " ");
}
else
{
firstNum = firstNum + 2;
System.out.print(firstNum + " ");

}
}
}
}

If i input 3 and 17, the output is "5 7 9 11 13 15", which is correct.
but, it doesn't work when i input 8 and 15, the output becomes "9 10 11 12 13"

I'm not sure which part i have to fix.
###### Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Commented:
Split mind?
Commented:
Your code is unnecessarily complex. This should work:

while (++firstNum < secondNum) {
if (firstNum % 2 != 0)
System.out.println(firstNum);
}

Experts Exchange Solution brought to you by

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Commented:
:-)
Author Commented:
import java.io.*;
import java.util.*;

public class ch5_num8_partB_OddNumbers
{

public static void main(String[] args) throws IOException
{
int firstNum, secondNum, n;
int rem;

n = 0;

System.out.print("Please enter the first integer: ");
System.out.flush();

System.out.print("Please enter the second integer that is larger than "
+ "the first integer: ");
System.out.flush();

rem = firstNum % 2;

while (++firstNum < secondNum)
{
if (firstNum % 2 != 0)
System.out.println(firstNum);
}

}
}

Sorry, how do i make the output horizontal, not vertical?
Another problem is:
if i input 3 and 17,
i want the output to be:
"The odd numbers between 3 and 17 are:
5 7 9 11 15"

how do i do this?
###### It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.