Im doing some simple maths using loops and my task is as follows:

“Given an integer,N , print its first 10 multiples. Each multiple N * i (where 1 <= N <= ) should be printed on a new line in the form: N x i = result.”

My input has to be :

N

My output:

Print 10 lines of output; each line 'i' (where 1 <= N <= ) contains the result N * i of in the form: N x i = result.

Sample Input:

2

Sample Output:

2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 2 x 10 = 20

This is what I have done so far:

import java.io.*; import java.math.*; import java.security.*; import java.text.*; import java.util.*; import java.util.concurrent.*; import java.util.regex.*; public class Solution { private static final Scanner scanner = new Scanner(System.in); public static void main(String[] args) { int N = scanner.nextInt(); scanner.skip("(rn|[nru2028u2029u0085])?"); for (int i = 0; i >= 1 && i <= 10; i++){ } scanner.close(); } }

Would I be able to use a while loop to state the the integer, N, should be able to print out all the numbers in the inclusive range of 1 to 10 to the calculation of the (sample) input: 2×1=2. 2×2=4 etc.

If I can do it without the while loop i.e just using the for loop or for-each, please advise on how I can do it. Im really confused with this. Thanks.

## Advertisement

## Answer

I really don’t see the problem, you don’t need a while loop at all, you just need simple maths:

public static void main(String[] args) { int N = scanner.nextInt(); scanner.skip("(rn|[nru2028u2029u0085])?"); // I removed the i >= 1 because it hinders the for loop from even staring, // you had i = 0 before, so the i >= 1 would output false. So the for loop would stop // instantly. You can just start the loop with the number 1 so you dont multiply by zero. for (int i = 1; i <= 10; i++) { System.out.println(N + " x " + i + " = " + (N * i)); /* lets say N is 2, then it will output the following: 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 2 x 10 = 20 Just as you want it to. */ } scanner.close(); }