Prime numbers. Write a program that prompts the user for an integer and then pri
ID: 3577097 • Letter: P
Question
Prime numbers. Write a program that prompts the user for an integer and then prints out all prime numbers up to that integer. For example, when the user enters 20, the program should print
2
3
5
7
11
13
17
19
Recall that a number is a prime number if it is not divisible by any number except 1 and itself.
Supply a class PrimeGenerator with a method nextPrime.
Here is a sample program run:
Your main class should be called PrimePrinter.
Complete the following class in your solution:
Use the following class as your tester class:
http://go.code-check.org/codecheck/files?repo=bj4fp&problem=ch06/c06_exp_6_9
Explanation / Answer
Hi, Please find my code.
Please let me know in case of any issue.
/**
This class generates all prime numbers.
*/
public class PrimeGenerator
{
private int number;
public PrimeGenerator()
{
number = 2;
}
/**
Calculates the next prime number.
@return the next prime number
*/
public int nextPrime()
{
int i= number;
while(true){
if(isPrime(i)){
number = i;
return i;
}
i++;
}
}
private boolean isPrime(int x){
for(int i=2; i<=Math.sqrt(x); i++){
if(x % i == 0)
return false;
}
return true;
}
}
public class PrimeGeneratorTester
{
public static void main(String[] args)
{
PrimeGenerator generator = new PrimeGenerator();
System.out.println(generator.nextPrime());
System.out.println("Expected: " + 2);
System.out.println(generator.nextPrime());
System.out.println("Expected: " + 3);
System.out.println(generator.nextPrime());
System.out.println("Expected: " + 5);
System.out.println(generator.nextPrime());
System.out.println("Expected: " + 7);
System.out.println(generator.nextPrime());
System.out.println("Expected: " + 11);
for (int i = 6; i <= 9999; i++)
generator.nextPrime();
System.out.println(generator.nextPrime());
System.out.println("Expected: " + 104729); // the ten thousandth prime
}
}
/*
Sample output:
2
Expected: 2
2
Expected: 3
2
Expected: 5
2
Expected: 7
2
Expected: 11
2
Expected: 104729
*/
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.