Results 1 to 15 of 15
  1. #1
    mrdestroy is offline Member
    Join Date
    Oct 2008
    Posts
    22
    Rep Power
    0

    Unhappy Need help with While Loop

    I got a problem with this one, hope you guys can help me. I've just learned Java few weeks.

    Write a program segment that reads a natural number n (n>=1) from keyboard, then
    calculates and displays the sum of all odd numbers from 1 to n. Use the while loop to
    validate input, if the number is smaller than 1, display an error message and the user
    can try again.

    Sample run:
    Please enter a natural number greater than 1: -1
    Invalid value. Please enter a natural number greater than 1: 9
    Sum of odd from 1 to 9 is: 25

    Thanks in advanced.

  2. #2
    Unome is offline Member
    Join Date
    Oct 2008
    Posts
    44
    Rep Power
    0

    Default

    Whats your problem? You don't know how to make a while loop?
    while (decisioin)
    {
    //data and calculations
    }

    to calculate the sum of the odd numbers test a /2 and see if you get a whole number or a number with decimals. if it has a remainder than its an odd number!

    hope that helps. clarify what part of the problem your having difficulty with

  3. #3
    mrdestroy is offline Member
    Join Date
    Oct 2008
    Posts
    22
    Rep Power
    0

    Default

    import java.util.Scanner;


    public class OddNumberSum {

    /**
    * @param args
    */
    public static void main(String[] args) {
    int n = 1;

    Scanner keyboard = new Scanner(System.in);


    while (n >= 1){
    System.out.println("Please enter a natural number greater than 1: ");
    n = keyboard.nextInt();


    }
    {
    System.out.println("Invalid value, Please enter a natural number greater than 1: ");
    n = keyboard.nextInt();
    //This is for enter again.
    }



    }
    }

    How can I calculate the sum of odd numbers.
    Example:
    If I enter 9, it means I have to calculate the sum of 1, 3, 5, 7, 9.
    If I enter 8, I have to calculate the sum of 1, 3, 5, 7.
    Last edited by mrdestroy; 10-17-2008 at 08:27 AM.

  4. #4
    Supamagier is offline Senior Member
    Join Date
    Aug 2008
    Posts
    384
    Rep Power
    6

    Default

    dude wtf?
    Java Code:
    }
    {
    System.out.println("Invalid value, Please enter a natural number greater than 1: ");
    n = keyboard.nextInt();
    //This is for enter again. 
    }
    I die a little on the inside...
    Every time I get shot.

  5. #5
    mrdestroy is offline Member
    Join Date
    Oct 2008
    Posts
    22
    Rep Power
    0

    Default

    If users enter a wrong number (<1), they have to enter again.

  6. #6
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,372
    Blog Entries
    1
    Rep Power
    19

    Default

    Use a do-while loop to fix it.

    Java Code:
            int val;
            
            do {
                System.out.println("Enter the value: ");
                val = keyboard.nextInt();
            }while(val < 1);

  7. #7
    mrdestroy is offline Member
    Join Date
    Oct 2008
    Posts
    22
    Rep Power
    0

    Default

    Is there any ideas for while loop, pls???

  8. #8
    Fubarable's Avatar
    Fubarable is offline Moderator
    Join Date
    Jun 2008
    Posts
    19,316
    Blog Entries
    1
    Rep Power
    25

    Default

    what do you mean "any ideas for while loop?" You've been given some great ideas above. Let's see the latest of what you have in code, and then a decent question about that code.

    Also, when posting your code, please use code tags so that your code will retain its formatting and be readable. To do this, you will need to paste already formatted code into the forum, highlight this code, and then press the "code" button at the top of the forum Message editor prior to posting the message. Another way is to place the tag &#91;code] at the top of your block of code and the tag &#91;/code] at the bottom, like so:

    Java Code:
    &#91;code]
      // your code block goes here.
      // note the differences between the tag at the top vs the bottom.
      // note that this code has to already be properly formatted with 3-4 space indentations for code tags to work
    &#91;/code]

    good luck.
    Last edited by Fubarable; 10-18-2008 at 03:53 PM.

  9. #9
    mrdestroy is offline Member
    Join Date
    Oct 2008
    Posts
    22
    Rep Power
    0

    Default

    public static void main(String[] args) {
    int n = 1, sum = 0;

    Scanner keyboard = new Scanner(System.in);


    while (n >= 1){
    System.out.println("Please enter a natural number greater than 1: ");
    n = keyboard.nextInt();
    for(int i = 1; i <= n; i += 2)
    {
    sum += i;
    }
    System.out.println("Sum of odd numbers from 1 to " + n + " is: " + sum);
    }
    {
    System.out.println("Invalid value, Please enter a natural number greater than 1: ");
    n = keyboard.nextInt();
    }

    }
    }
    This is my code in while loop, but when I run this printed out "Please enter a natural number greater than 1:" again.
    How can I stop this repeat?

  10. #10
    Norm's Avatar
    Norm is offline Moderator
    Join Date
    Jun 2008
    Location
    Eastern Florida
    Posts
    16,589
    Rep Power
    23

    Default

    Please see above about posting code with code tags.
    At least label the end of loops with comments:
    } // end while

    } // end for(i)

    Unformatted code is hard to read.

  11. #11
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,372
    Blog Entries
    1
    Rep Power
    19

  12. #12
    mrdestroy is offline Member
    Join Date
    Oct 2008
    Posts
    22
    Rep Power
    0

    Default

    Thank you all very much. But, while is a requirement in this problem, I have to do it following while. Do while from Mod is really great. I'm just new here so I didnt know about code tag. I will fix it in others.

  13. #13
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,372
    Blog Entries
    1
    Rep Power
    19

    Default

    All depends on your analytical skills.

    Java Code:
        public static void main(String[] args) {
    
            int n = 1, sum = 0;
            Scanner keyboard = new Scanner(System.in);
    
            System.out.println("Please enter a natural number greater than 1: ");
            n = keyboard.nextInt();
            
            while (n <= 1){
                System.out.println("Invalid number, Please enter a natural " +
                        "number greater than 1: ");
                n = keyboard.nextInt();
            }
    
            for(int i = 1; i <= n; i += 2) {
                sum += i;
            }
            System.out.println("Sum of odd numbers from 1 to " + n + " is: " + sum);
        }

  14. #14
    mrdestroy is offline Member
    Join Date
    Oct 2008
    Posts
    22
    Rep Power
    0

    Default

    That's perfect. Thank you very much.

  15. #15
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,372
    Blog Entries
    1
    Rep Power
    19

Similar Threads

  1. For Loop
    By kian_hong2000 in forum New To Java
    Replies: 1
    Last Post: 08-07-2008, 02:01 PM
  2. while loop
    By Unknown1369 in forum New To Java
    Replies: 5
    Last Post: 07-08-2008, 10:15 AM
  3. How to use While loop
    By Java Tip in forum java.lang
    Replies: 0
    Last Post: 04-17-2008, 07:44 PM
  4. while loop
    By michcio in forum New To Java
    Replies: 5
    Last Post: 01-27-2008, 12:56 AM
  5. can you help me with this for loop?
    By java_fun2007 in forum New To Java
    Replies: 6
    Last Post: 12-22-2007, 10:20 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •