Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Java (http://www.go4expert.com/forums/java/)
-   -   program help (http://www.go4expert.com/forums/program-help-t2112/)

taurus 3Dec2006 21:25

program help
 
Code:

import javax.swing.*;
public class test
{
    public static void main(String[] args)
    {
        String input;
        int integer, total, another;
        do
        {
            input = JOptionPane.showInputDialog(null, "Enter a positive integer");
            integer = Integer.parseInt(input);
            if (isPositive(integer));
            {
            input = JOptionPane.showInputDialog(null, "Enter a positive integer");
            }
            total = addNumbers(integer);
            JOptionPane.showMessageDialog(null,"The total of integers between  1 and " + integer + " is " + total);
            another = JOptionPane.showConfirmDialog(null, "Do you want to continue");
        }
        while (another == JOptionPane.YES_OPTION);
    }

public static boolean isPositive(int integer)
    {
        while(integer <= 0)
        {
        return true;
        }
        return false;
         
    }
public static int addNumbers(int integer)
    {
        int total = 0, count = 0;
        while(count < integer)
        {
            count = count + 1;
            total = total + count;
        }
        return total;
    }
}


Now i got a problem, u c my boolean method, well what i want to say is when its not a positive number then it should re prompt the user for a number(input = JOptionPane.showInputDialog(null, "Enter a positive integer")

But right now its not workin correctly.
can someone just help me wit that?
thanx

pradeep 4Dec2006 12:48

Re: program help
 
You have to simply use the continue statement after checking for positive number. Find the rectified code below.

Code: Java

import javax.swing.*;
 public class test
 {
     public static void main(String[] args)
     {
         String input;
         int integer, total, another;
         do
         {
             input = JOptionPane.showInputDialog(null, "Enter a positive integer");
             integer = Integer.parseInt(input);
             if (isPositive(integer))
                 continue;
             total = addNumbers(integer);
             JOptionPane.showMessageDialog(null,"The total of integers between  1 and " + integer + " is " + total);
             another = JOptionPane.showConfirmDialog(null, "Do you want to continue");
         }
         while (another == JOptionPane.YES_OPTION);
     }
 
 public static boolean isPositive(int integer)
 {
     while(integer <= 0)
     {
     return true;
     }
     return false;
       
 }
 
 public static int addNumbers(int integer)
 {
     int total = 0, count = 0;
     while(count < integer)
     {
         count = count + 1;
         total = total + count;
     }
     return total;
 }
 
 }


taurus 4Dec2006 21:31

Re: program help
 
thanks man, helped alot.

taurus 5Dec2006 00:38

Re: program help
 
problem, its saying: variable another might not have been initialized but it is. Wat do i do?

taurus 5Dec2006 01:51

Re: program help
 
i need some help, its not workin.... HELP... it just doesnt want to do wat i ask it to do????

taurus 5Dec2006 02:13

Re: program help
 
Code:

import javax.swing.*;
public class test
{
    public static void main(String[] args)
    {
        String input;
        int integer, total, another;
       
        do
        {   
            input = JOptionPane.showInputDialog(null, "Enter a positive integer");
            integer = Integer.parseInt(input);
         
            if (isPositive(integer))
                input = JOptionPane.showInputDialog(null, "Enter a positive integer");
           
            total = addNumbers(integer);
            JOptionPane.showMessageDialog(null,"The total of integers between  1 and " + integer + " is " + total);
            another = JOptionPane.showConfirmDialog(null,"Do you want to contine");

        }
        while (another == JOptionPane.YES_OPTION);
    }

public static boolean isPositive(int integer)
    {
        if (integer < 0)
                      return true;
                else
                      return false;
 
   
    }
public static int addNumbers(int integer)
    {
        int total = 0, count = 0;
        while(count < integer)
        {
            count = count + 1;
            total = total + count;
        }
        return total;
    }
}

iv edited it to the following code. it works to a certain extent. IE. i enter a positive it does the calculation. then i enter a negative it asks to re input the number. then i type another negative but now it does the calcualtion with the first negative somehow.
HOW DO I STOP THAT??
or any other ideas.
thanks

pradeep 5Dec2006 11:17

Re: program help
 
But I already gave you the solution, didn't you try that?

taurus 5Dec2006 11:49

Re: program help
 
it said variable already may not have been initialized??

taurus 5Dec2006 21:46

Re: program help
 
??? wats wrong wit it?

pradeep 7Dec2006 11:58

Re: program help
 
With the continue statment you can send it to the beginning of the loop everytime a specific condition is not satisfied, in your case a positive integer.


All times are GMT +5.5. The time now is 21:41.