program help

taurus's Avatar
Go4Expert Member
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
0
pradeep's Avatar, Join Date: Apr 2005
Team Leader
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;
 }
 
 }
0
taurus's Avatar
Go4Expert Member
thanks man, helped alot.
0
taurus's Avatar
Go4Expert Member
problem, its saying: variable another might not have been initialized but it is. Wat do i do?
0
taurus's Avatar
Go4Expert Member
i need some help, its not workin.... HELP... it just doesnt want to do wat i ask it to do????
0
taurus's Avatar
Go4Expert Member
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
0
pradeep's Avatar, Join Date: Apr 2005
Team Leader
But I already gave you the solution, didn't you try that?
0
taurus's Avatar
Go4Expert Member
it said variable already may not have been initialized??
0
taurus's Avatar
Go4Expert Member
??? wats wrong wit it?
0
pradeep's Avatar, Join Date: Apr 2005
Team Leader
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.