I am a beginner in Java. I am writing this program to show all prime numbers in between the number supplied from the user.
Current output is:
2, 3, 5, 7, Count: 4
But, i want the output to be like:
"The number of prime is: "+count+", and they are: " followed by all the numbers separated by comma
package com.example.test;
import java.util.Scanner;
public class PrimeTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out
.println("Enter the number till which the prime numbers are to be calculated: ");
int input = scanner.nextInt();
int count = 0;
// loop through the numbers one by one
for (int i = 2; i < input; i++) {
boolean isPrimeNumber = true;
// check to see if the number is prime
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrimeNumber = false;
break; // exit the inner for loop
}
}
// print the number if prime
if (isPrimeNumber) {
count++;
System.out.print(i + ", ");
}
}
System.out.println("Count: " + count);
}
}
You have to store the values, for example like this :
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class PrimeTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the number till which the prime numbers are to be calculated: ");
int input = scanner.nextInt();
List<Integer> primes = new ArrayList<>();
// loop through the numbers one by one
for (int i = 2; i < input; i++) {
boolean isPrimeNumber = true;
// check to see if the number is prime
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrimeNumber = false;
break; // exit the inner for loop
}
}
// print the number if prime
if (isPrimeNumber) {
primes.add(i);
}
}
System.out.println("The number of prime is: " + primes.size() + ", and they are: " + primes.toString());
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With