Building Java Programs: A Back To Basics Approach (5th Edition)
Building Java Programs: A Back To Basics Approach (5th Edition)
5th Edition
ISBN: 9780135471944
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
Information Security Risk and Vulnerability Assessment 1- Which TCP/IP protocol is used to convert the IP address to the Mac address? Explain 2-What popular switch feature allows you to create communication boundaries between systems connected to the switch3- what types of vulnerability directly related to the programmer of the software?4- Who ensures the entity implements appropriate security controls to protect an asset?         Please do not use AI and add refrence
Find the voltage V0 across the 4K resistor using the mesh method or nodal analysis. Note: I have already simulated it and the value it should give is -1.714V
Resolver por superposicion
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