Building Java Programs: A Back To Basics Approach, Loose Leaf Edition (5th Edition)
Building Java Programs: A Back To Basics Approach, Loose Leaf Edition (5th Edition)
5th Edition
ISBN: 9780135472118
Author: Stuart Reges, Marty Stepp
Publisher: PEARSON
bartleby

Videos

Expert Solution & Answer
Book Icon
Chapter 11, Problem 1E

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.
    • 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.”

Expert Solution & Answer
Check Mark
Sample Output

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?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
Benefits of using arrays as instance variables: What are the advantages of incorporating arrays as instance variables within a class? Initializing and managing arrays: How do you initialize and manage arrays within class constructors and mutators (setters)? Example of using arrays as instance variables: Share an example where you have used arrays as instance variables and discuss its application in a real-world scenario. Common mistakes with arrays as instance variables: What are some common mistakes to avoid when working with arrays as instance variables? Information hiding violations: What is the potential violation of information hiding when using arrays as instance variables? How can this be resolved?
Do you think that computers should replace teachers? Give three references with your answer.
Is online learning or face to face learning better to teach students around the around the world? Give reasons for your answer and provide two references with your response. What are benefits of both online learning and face to face learning ? Give two references with your answer. How does online learning and face to face learning affects students around the world? Give two references with your answer.
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education
Definition of Array; Author: Neso Academy;https://www.youtube.com/watch?v=55l-aZ7_F24;License: Standard Youtube License