1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
postnew [5]
3 years ago
9

In this assignment, you are to create a class named Payroll. In the class, you are to have the following data members: name: Str

ing id: String hours: int rate: double private members . You are to create no-arg and parameterized constructors and the appropriate setters(accessors) and getters (mutators). The class definition should also handle the following exceptions: An employee name should not be empty, otherwise an exception should be thrown. An employee id should have the form LNN. If that form is not received, an exception should be thrown. An employee's hours should neither be negative nor greater than 84. An exception should be thrown otherwise. An employee's pay rate should neither be negative nor greater than 25.00. An exception should be thrown otherwise. Demonstrate this class in a program (separate class or in the same class). The exception messages should be appropriate to the specific exception that has occurred. Create a package payroll for the project.

Computers and Technology
1 answer:
wlad13 [49]3 years ago
5 0

Answer:

Here is the PayRoll class:

// PayRoll.java

package payroll;  // creates payroll package for project

public class Payroll {   //class definition

  private String name;   //private String type member variable to store name

  private String id;  //private String type member variable to store id

  private int hours;  //private int type member variable to store work hours

  private double rate;    //private double type member variable to store payrate of the employee

  public Payroll()    {  //no argument constructor of PayRoll

      name = "";   //initialize name field

      id = "";   //initialize id field

      hours = 0;  //initialize hours field

      rate = 0.0;    }  //  initialize rate field

  public Payroll(String NAME, String ID, int HOURS, double RATE)    { //parameterized constructor

      setName(NAME);  //sets name value

      setId(ID); //sets id value

      setHours(HOURS);  //sets hours value

      setRate(RATE);    }  //sets rate value

  public void setName(String NAME)    {  //mutator method to set name

      if(NAME.equals(""))        {  //if name field is empty

          throw new IllegalArgumentException("An employee name should not be empty.");        }     //throws exception

      name = NAME;    }  

  public void setId(String ID)    {        //mutator method to set id

      if(ID.length() != 3 || !Character.isLetter(ID.charAt(0))|| !Character.isDigit(ID.charAt(1)) || !Character.isDigit(ID.charAt(2)))        {  //if statement checks if the length of the id is not 3, or first character of id is not a letter, or second or third character of id is not a digit

          throw new IllegalArgumentException("An employee id should have the form LNN.");        }        //throws exception

      id = ID;    }    

  public void setHours(int HOURS)    {  //mutator method to set hours

      if(HOURS < 0 || HOURS > 84)        { //checks if working hours are less than 0 or greater than 84

          throw new IllegalArgumentException("An employee's hours should neither be negative nor greater than 84");        }    //throws exception    

      hours = HOURS;    }  

  public void setRate(double RATE)    {    //mutator method to set rate

      if(RATE < 0 || RATE > 25.00)        {  //checks if pay rate is less than 0 or greater than 25.00

          throw new IllegalArgumentException("An employee's pay rate should neither be negative nor greater than 25.00");        }         //throws exception    

      rate = RATE;    }    

  public String getName()    {  //accessor method to get value of name

      return name;    }   //returns the current value of name

  public String getId()    { //accessor method to get value of id

      return id;    }  //returns the current value of id

  public int getHours()    {  //accessor method to get value of hours

      return hours;    }    //returns the current value of hours

   public double getRate()    {  //accessor method to get value of rate

      return rate;    }  } //returns the current value of rate

Explanation:

Here is the Main() class:

import java.util.Scanner;  //to accept input from user

public class Main {  //Main class definition

  public static void main(String[] args)   {//start of main() function

      Payroll pay = new Payroll();  //creates object i.e. pay of PayRoll class

      Scanner sc = new Scanner(System.in);  //creates Scanner class object

      String name,id; //declare variables to hold name and id

      int hour;  //declare variable to store hour

      double rate; //declare variable to store pay rate

      System.out.print("Enter the employee's name: "); //prompts user to enter employee name

      name = sc.nextLine();  //reads input value of name

      pay.setName(name);  //use pay object to access mutator method to set name to input name value

      System.out.print("Enter employee's id (LNN form): "); //prompts user to enter employee id

      id = sc.nextLine();  //reads input value of id

      pay.setId(id);  //use pay object to access mutator method to set id to input id

      System.out.print("Enter the employee's working hours: "); //prompts user to enter employee hours

      hour = sc.nextInt();  //reads input value of hour

      pay.setHours(hour);  // set input hours

      System.out.print("Enter the employee's pay rate: "); //prompts user to enter employee pay rate

      rate = sc.nextInt(); //reads input value of rate

      pay.setRate(rate);  // set pay rate

      System.out.println("Employee Data: \n");  //displays the employee data

      System.out.println("Employee's Name: " + pay.getName());  //calls getName accessor method to get current value of name field and display it

      System.out.println("Employee's ID: " + pay.getId());  //calls getId accessor method to get current value of id field and displays it

      System.out.println("Employee's Hours: " + pay.getHours());  //calls getHours accessor method to get current value of hours field and displays it

      System.out.println("Employee's Pay Rate: " + pay.getRate()); //calls getRate accessor method to get current value of rate field and displays it

  }

}

Here IllegalArgumentException is thrown which is used to show that a method is passed an illegal argument.

The screenshot of program and its output is attached.

You might be interested in
What is command is used to improve the vocabulary and in which tab is it found​
Sholpan [36]

Answer:

Writers Talk About Writing

Ctrl+Shift+Return: Keys to Your Computer

By Mike PopeOctober 15, 2012

Your computer's keyboard has around 110 keys by which you can make your wishes known to the machine. Most of these have obvious labels: if you press the A key, the letter A appears on the screen. Some are less obvious, though — the Shift key and the mysterious Ctrl key — and in this article I'll explore why they're named what they're named.

Long before computers, many practical issues about using a machine to write had already been worked out for the typewriter. If you've never used a typewriter, you might be interested in this video that shows one in action.

5 0
3 years ago
When designing a database, what should your first step be?
il63 [147K]

Answer:

Option A is the right answer. When designing a database the first step is to clearly define the purpose of database. What are the primary goals you want to achieve by building a database for a specific purpose. There are various methods of defining core purpose of database design.

Explanation:

  • As we understand defining purpose of database is the first step in database development, followed by series of steps to accomplish a database for required purpose.
  • Requirement analysis/ elicitation defines the purpose of a database.
  • Requirement analysis help us finding and organizing the information required i.e. purpose-the foremost step, to build a database.
  • Gather the required information and group/ divide that information into tables.
  • Select the unique identifier in each table to make it primary key.
  • Set up and specify table relationships i.e one-to-one, one-to-many etc.

Answer details  

Grade: College

Subject: Computers and Technology

Chapter: Database Design

Keywords: designing database, relations in database, primary key etc

7 0
3 years ago
A blog is Group of answer choices a character in Lineage,
babymother [125]

Answer: A personal journal kept on the Web.

Explanation:

 A blog is another type of journal or diary, however it is one that is advanced and on the Internet. These are frequently alluded to as online journals/diaries or individual sites. They may record our everyday encounters or even social discourse.

A blog is basically known as the online personal journal which contain the different views of the authors and also reflections on the similar topics that all kept on web.

5 0
4 years ago
Two electronics students are discussing electrical units. Student A says that electrical power is measured in units called coulo
MakcuM [25]

watts is the measurement for electrical power

V is abbreviation for volts


 Answer is A Neither of the two students is correct

6 0
3 years ago
What is combo chart ? how will you created a combo chart​
mafiozo [28]

Answer:

A combo chart is a combination of two column charts, two line graphs, or a column chart and a line graph. You can make a combo chart with a single dataset or with two datasets that share a common string field.

7 0
3 years ago
Read 2 more answers
Other questions:
  • What document is created to identify the areas of testing of a website?
    8·1 answer
  • Which of the following is the java comparison operator for "not equal to"
    10·1 answer
  • What is the most happy job work? that can earn $1000 per day at homes? show company website links
    5·1 answer
  • The final step of the DHCP Discovery process is known as...
    8·1 answer
  • You work in the educational software industry. Your boss asks you to give a brief lecture to other employees about the digital d
    7·2 answers
  • What is a record? What is a field? How are they represented in Access?
    8·1 answer
  • 0.005098 megaliters to liters. record your answer in whole liters
    7·1 answer
  • What is the color of red?
    9·2 answers
  • Name the written test a potential driver must pass and list the minimum required score to earn a learner’s license.
    8·2 answers
  • Define a function calc_pyramid_volume with parameters base_length, base_width, and pyramid_height, that returns the volume of a
    7·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!