My current java program displays multiplication table from zero to infinity.
- i want to limit that from 1 to 20 only…i want multiplication table output from 0 to 20 only.
- i.e. i dont want multiplication table of zero or any number greater than 20 as output.
- is it possible to do what i want using loops only
- if not loops then how
- i copied this problem and solution from hackerrank… Here is the code…
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 { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(bufferedReader.readLine().trim()); for (int i = 0; i < 10; i) { System.out.println(N " x "(i 1) " = "(N * (i 1))); } bufferedReader.close(); } }```
Advertisement
Answer
most of your code is fine, you just need to add a condition to validate 1 to 20 number and also you need start your loop from 1 instead of 0, take a look at below code, this will resolve your issue
public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(bufferedReader.readLine().trim()); if (N >= 1 && N <= 20) { for (int i = 1; i < 10; i++) { System.out.println(N + " x " + (i + 1) + " = " + (N * (i + 1))); } } else { System.out.println("Enter Numbers in between 1 to 20"); } bufferedReader.close(); }