
Explanation of Solution
Modified “Sieve()” program to make required two optimizations:
//Import required packages
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
//Definition of class Test
public class Sieve {
//Definition of main class
public static void main(String[] args)
{
//Print the statement
System.out.println("This program will tell you all prime" );
System.out.println( "numbers up to a given maximum . ");
System.out . println() ;
//Create an object for scanner class
Scanner console= new Scanner(System. in);
//Get the integer from the user
System.out.print( "Maximum number? " );
int max= console.nextInt() ;
//Create an object for sieve
List<Integer> primes= sieve(max) ;
//Print the result
System.out.println(primes);
}
//Definition of method sieve()
public static LinkedList<Integer> sieve(int max)
{
//Create an object primes for LinkedList
LinkedList<Integer> primes = new LinkedList<Integer>();
//Create an object numbers for LinkedList
LinkedList<Integer> numbers = new LinkedList<Integer>();
//Add 2 to the list
numbers.add(2);
//Traverse the loop till it reaches max
for (int i = 3; i <= max; i += 2)
{
//Add the values to the "numbers"
numbers.add(i);
}
//Declare the variable sqrt
double sqrt = Math.sqrt(max);
//Check whether the numbers is not emppty
while (!numbers.isEmpty())
{
// remove a prime number from the front of the list
int front = numbers.remove(0);
//Add the front
primes.add(front);
//Check whether the front is greater than sqrt
if (front >= sqrt)
{
//Check whether the numbers is not empty
while (!numbers.isEmpty()) {
//Add the numbers
primes.add(numbers.remove(0));
}
}
// Create an object for iterator
Iterator<Integer> itr = numbers.iterator();
//Check whether itr has value
while (itr.hasNext())
{
//Get the next value and store it in current
int current = itr.next();
//Check whether "current" mod "front" equals to "0"
if (current % front == 0)
{
//Remove the value
itr.remove();
}
}
}
//Return the value of primes
return primes;
}
}
Explanation:
- Define the static method “sieve()”.
- Create an object “primes” for the “LinkedList”.
- Create an object “numbers" for the “LinkedList”.
- Add “2” to the list.
- Traverse the loop till it reaches “max”.
- Add the values to the “numbers”.
- Declare the variable “sqrt”.
- Check whether the “numbers” is not empty.
- Remove a prime number from the “front” of the list.
- Add the front to “primes”.
- Check whether the “front” is greater than “sqrt”.
- Check whether the “numbers” is not empty.
- Add the numbers.
- Check whether the “numbers” is not empty.
- Create an object for iterator.
- Check whether the “itr” has value.
- Get the next value and store it in current.
- Check whether “current” mod “front” equals to “0”.
- Remove the value.
- Return the value of “primes.”
- Remove the value.

Output:
This program will tell you all prime
numbers up to a given maximum .
Maximum number? 45
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43]
Want to see more full solutions like this?
Chapter 11 Solutions
Building Java Programs: A Back to Basics Approach (4th Edition)
- Explain Five reasons if computers should replace teachers. Provide three references with your answer. List three advantages and three disadvantages face to face learning and online learning may have on children. Provide two references with your answer.arrow_forwardYou were requested to design IP addresses for the following network using the address block 10.10.10.0/24. Specify an address and net mask for each network and router interfacearrow_forwardFor the following network, propose routing tables in each of the routers R1 to R5arrow_forward
- How can I type the Java OOP code by using JOptionPane with this following code below: public static void sellCruiseTicket(Cruise[] allCruises) { //Type the code here }arrow_forwardDraw a system/level-0 diagram for this scenario: You are developing a new customer relationship management system for the BEC store, which rents out movies to customers. Customers will provide comments on new products, and request rental extensions and new products, each of which will be stored into the system and used by the manager for purchasing movies, extra copies, etc. Each month, one employee of BEC will select their favorite movie pick of that week, which will be stored in the system. The actual inventory information will be stored in the Entertainment Tracker system, and would be retrieved by this new system as and when necessary. Example of what a level-0 diagram looks like is attached.arrow_forwardWhat is the value of performing exploratory data analysis in designing data visualizations? What are some examples?arrow_forward
- Draw a level-0 diagram for this scenario: You are developing a new customer relationship management system for the BEC store, which rents out movies to customers. Customers will provide comments on new products, and request rental extensions and new products, each of which will be stored into the system and used by the manager for purchasing movies, extra copies, etc. Each month, one employee of BEC will select their favorite movie pick of that week, which will be stored in the system. The actual inventory information will be stored in the Entertainment Tracker system, and would be retrieved by this new system as and when necessary.arrow_forwardDraw a context diagram for this scenario: You are developing a new customer relationship Management system for the BEC store, which rents out movies to customers. Customers will provide comments on new products, and request rental extensions and new products, each of which will be stored into the system and used by the manager for purchasing movies, extra copies, etc. Each month, one employee of BEC will select their favorite movie pick of that week, which will be stored in. the system. The actual inventory information will be stored in the Entertainment Tracker system, and would be retrieved by this new system as and when necessary.arrow_forwardWrite a complete Java program named FindSumAndAverage that performs the following tasks in 2-D array: Main Method: a. The main() method asks the user to provide the dimension n for a square matrix. A square matrix has an equal number of rows and columns. b. The main() method receives the value of n and calls the matrixSetUp() method that creates a square matrix of size n and populates it randomly with integers between 1 and 9. c. The main method then calls another method named printMatrix() to display the matrix in a matrix format. d. The main method also calls a method named findSumAndAverage() which: • Receives the generated matrix as input. • Calculates the sum of all elements in the matrix. • Calculates the average value of the elements in the matrix. • Stores these values (sum and average) in a single-dimensional array and returns this array • e. The main method prints the sum and average based on the result returned from findSumAndAverage()). Enter the dimension n for the square…arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education





