import java.util.*; public class dowhile { public static void main(String[] pars) { int n; int x; int sum; int i; Scanner keyboard = new Scanner(System.in); // A while-loop for adding n numbers System.out.print("Enter n:"); n = keyboard.nextInt(); sum = 0; i = 1; while (i<=n) { System.out.print("Enter value:"); x = keyboard.nextInt(); sum = sum + x; i = i + 1; } System.out.println("Sum is:" + sum); // A supposedly equivalent loop (what is wrong?) System.out.print("Enter n:"); n = keyboard.nextInt(); sum = 0; i = 1; do { System.out.print("Enter value:"); x = keyboard.nextInt(); sum = sum + x; i = i + 1; } while (i<=n); System.out.println("Sum is:" + sum); // One ugly way to fix it System.out.print("Enter n:"); n = keyboard.nextInt(); sum = 0; if (n > 0) { i = 1; do { System.out.print("Enter value:"); x = keyboard.nextInt(); sum = sum + x; i = i + 1; } while (i<=n); } System.out.println("Sum is:" + sum); // An even uglier way to fix it System.out.print("Enter n:"); n = keyboard.nextInt(); sum = 0; i = 1; do { if (n <= 0) // or if (i>n) break; break; System.out.print("Enter value:"); x = keyboard.nextInt(); sum = sum + x; i = i + 1; } while (i<=n); System.out.println("Sum is:" + sum); } }