Java: An Introduction to Problem Solving and Programming (7th Edition)
Java: An Introduction to Problem Solving and Programming (7th Edition)
7th Edition
ISBN: 9780133766264
Author: Walter Savitch
Publisher: PEARSON
bartleby

Concept explainers

bartleby

Videos

Expert Solution & Answer
Book Icon
Chapter 9, Problem 10E

Explanation of Solution

Creating a class “RoomCounter.java”:

  • Import required package.
  • Define the class “RoomCounter”.
    • Declare a private variable “countPeople”.
    • Define a default constructor and initialize the value.
    • Give function definition to “addPerson ()”.
      • Increment the value of “countPeople”.
    • Give function definition to “removePerson ()”.
      • Check of the value of “countPeople” is less than or equal to 0.
        • Throw “NegativeCounterException” with a message.
          • Decrement the value of “countPeople”.
    • Give function definition to “getcount ()”.
      • Return the value of “countPeople”.
    • Define the “main ()” method.
      • Create an object “rc” for the class “RoomCounter”.
      • Get and print the value of count by using the function “rc.getCount ()”.
      • Add three persons by calling the function “addPerson ()” three times.
      • Get and print the value of count by using the function “rc.getCount ()”.
      • Inside “try” block,
        • Remove two persons by calling the function “removePerson ()” two times.
        • Get and print the value of count by using the function “rc.getCount ()”.
        • Remove one person by calling the function “removePerson ()” one time.
        • Get and print the value of count by using the function “rc.getCount ()”.
        • Again remove one person by calling the function “removePerson ()” one time.
        • Get and print the value of count by using the function “rc.getCount ()”.
          • Catch “NegativeCounterException”.
            • Get and print the message by using the function “getMessage ()”.

Creating a class “NegativeCounterException.java”:

  • Define the class “NegativeCounterException” that extends “Exception”.
    • Define parameterized constructor.
      • Call the parent class’s method by using “super” keyword.

Program:

RoomCounter.java:

//Define a class

public class RoomCounter

{

    //Declare a private variable

    private int countPeople;

    //Define a default constructor

    public RoomCounter()

    {

        //Assign 0

        countPeople = 0;

    }

    //Give function definition to add person

    public void addPerson()

    {

        //Increment the variable

        countPeople++;

    }

    //Function definition to remove person

public void removePerson()throws NegativeCounterException

    {

        //Check if count is less than or equal to 0

        if(countPeople <= 0 )

            //Throw an exception

throw new NegativeCounterException("Can not remove a person");

        //Decrement the counter variable

        countPeople--;

    }

    //Function to get count

    public int getCount()

    {

        //Return count

        return countPeople;

    }

    //Define the main method

    public static void main(String[] args)

    {

        //Create an object for the class

        RoomCounter rc = new RoomCounter();

//Get the count after invoking default constructor

System...

Blurred answer
Students have asked these similar questions
2) You have learned in class the major steps that occur when a laptop requests a webpage after connecting to a network. In this assignment, you will apply that knowledge to another scenario: opening and playing a YouTube video that resides in Google's data-center infrastructure. Explain, in as much detail as you can, all the steps involved from your device's initial connection to the home/university network, to DNS resolution, routing across multiple networks, reaching Google's servers, and finally receiving the video data. To support your explanation, use tools such as ipconfig, nslookup, and tracert on your own computer, as well as any online IP-lookup tools of your choice. For each stage, include relevant information such as IP addresses, MAC addresses, router hops, and any other details you can gather. You are not expected to find every piece of information, but be as comprehensive as possible based on what you have learned in class, and justify your reasoning with screenshots from…
Please no use of AI
help me with this project. provide what I should put on each slide (words, example images, etc); example Slide 1: Intro. here are the directions: Submit a report that includes the source code, compiled code, description of the algorithm(s) implemented, data structures used, implementation details including time complexity analysis, sample inputs/outputs, and a conclusion section.

Chapter 9 Solutions

Java: An Introduction to Problem Solving and Programming (7th Edition)

Additional Engineering Textbook Solutions

Find more solutions based on key concepts
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
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781305480537
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
Programming with Microsoft Visual Basic 2017
Computer Science
ISBN:9781337102124
Author:Diane Zak
Publisher:Cengage Learning
Text book image
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Java Math Library; Author: Alex Lee;https://www.youtube.com/watch?v=ufegX5o8uc4;License: Standard YouTube License, CC-BY