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
You have to simply use the continue statement after checking for positive number. Find the rectified code below. 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)) 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; } }
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
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.