
Explanation of Solution
Program:
File name: “SalespersonDatabase.java”
//Import necessary header files
import java.util.*;
//Define a class named SalespersonDatabase
public class SalespersonDatabase
{
//Define main method
public static void main(String[] args)
{
//Create an array of objects
SalesPerson[] salespeople = new SalesPerson[20];
//Declare variables
int x;
int id;
int count = 0;
double sales;
final int QUIT = 999;
char option;
String message = "";
//Create an object for Scanner class
Scanner keyboard = new Scanner(System.in);
//Prompt the user to enter an option
System.out.print("Do you want to (A)dd, (D)elete, or (C)hange a record or (Q)uit >> ");
option = keyboard.nextLine().charAt(0);
//While condition exists if option entered by the user is not equal to Quit
while(option != 'Q')
{
//If option is to Add a record
if(option == 'A')
count = addOption(salespeople, count);
//If option is to Delete a record
else
if(option == 'D')
count = deleteOption(salespeople, count);
//If option is to Change a record
else
if(option == 'C')
changeOption(salespeople, count);
//Invalid
else
//Print the result
System.out.println("Invalid entry");
//Prompt the user to enter an option
System.out.print("Do you want to (A)dd, (D)elete, or (C)hange a record or (Q)uit >> ");
option = keyboard.nextLine().charAt(0);
}
}
//Define a method for add option
public static int addOption(SalesPerson[] array, int count)
{
//Create an object for Scanner class
Scanner keyboard = new Scanner(System.in);
//Declare variables
int id;
double sales;
boolean alreadyEntered;
//Check if
if(count == array.length)
//Print the result
System.out.println("Sorry - array is full -- cannot add a record");
//if database is not full
else
{
//Prompt the user to enter the ID of the salesperson
System.out.print("Enter salesperson ID >> ");
id = keyboard.nextInt();
alreadyEntered = false;
for(int x = 0; x < count; ++x)
//Check if ID number already exists
if(array[x].getId() == id)
{
//Print the result
System.out.println("Sorry -- ID number already exists");
alreadyEntered = true;
}
//Check if ID number does not exists
if(!alreadyEntered)
{
//Prompt the user to enter the sales
System.out.print("Enter sales >> ");
sales = keyboard.nextDouble();
array[count] = new SalesPerson(id, sales);
//Increment the count
++count;
}
}
//Display the database values
display(array, count);
keyboard.nextLine();
//Return the value
return count;
}
//Define a method for delete option
public static int deleteOption(SalesPerson[] array, int count)
{
//Create an object for Scanner class
Scanner keyboard = new Scanner(System.in);
//Declare variables
int id;
int position = 0;
//Check if database is empty
if(count == 0)
//Print the result
System.out.println("Cannot delete - no records in database");
//if database is not empty
else
{
//Prompt the user to enter the ID of the salesperson
System.out.print("Enter ID to delete >> ");
id = keyboard.nextInt();
boolean exists = false;
for(int x = 0; x < count; ++x)
//Check if ID number already exists
if(array[x].getId() == id)
{
exists = true;
position = x;
}
//if ID number does not exists
if(!exists)
//Print the result
System...

Trending nowThis is a popular solution!

- r languagearrow_forwardR languagearrow_forwardQuestion 1 (15 Points) Inheritance: In this question, we are going to create a new subclass of the SimpleGeometricObject class, named Triangle. Create a SimpleGeometricObject.java and Copy the source code of the SimpleGeometricObject class from the following link: https://liveexample.pearsoncmg.com/html/SimpleGeometricObject.html TASK 1: Create a Triangle class that extends the SimpleGeometricObject class in Eclipse, following the below UML diagram. + base:double = 5 + height:double = 10 Triangle + Triangle() + Triangle(newBase: double, newHeight: double) + getArea(): double + setBase(): void + setHeight(): void + getBase(): double + getHeight(): doublearrow_forward
- Question 2 (10 Points): String vs. StringBuilder Create a Question2.java file and finish the following tasks: Task 1. a) Create a 1D array of integers to store 50 integers. b) Store values from 0 to 49 in the array you just created. c) Create a new String Object using no-arg constructor. d) Using for loop to add the array elements one by one to the String (one per loop iteration) Hint: to append an element to a String, use the + operator. e) Output the String on the console. Record and display a run-time it took to append all integers to the String (record run-time of 1.d.)). Please submit a screenshot. The screenshot should match the following example: 012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 it took 196708 nanoseconds to append 50 integers to the String.| Hint: You can use the following statements to record run-time. long begin, end, time; // we will measure time it took begin = System.nanoTime(); //we measure in nanoseconds. // put…arrow_forwardAnswer this Java OOP question below: Discuss the challenges and benefits of using multiple levels of inheritance in a class hierarchy. How can deep inheritance structures impact the maintainability and readability of code?arrow_forwardAnswer the Java OOP question below: Explain the relationship between a superclass and a subclass. How do the principles of encapsulation and abstraction play a role in this relationship? In your experience, how do you decide what should be included in a superclass versus a subclass? Share an example where a well-defined superclass-subclass hierarchy improved your code.arrow_forward
- 1.) Consider the problem of determining whether a DFA and a regular expression are equivalent. Express this problem as a language and show that it is decidable. ii) Let ALLDFA = {(A)| A is a DFA and L(A) = "}. Show that ALLDFA is decidable. iii) Let AECFG = {(G)| G is a CFG that generates &}. Show that AECFG is decidable. iv) Let ETM {(M)| M is a TM and L(M) = 0}. Show that ETM, the complement of Erm, is Turing-recognizable. Let X be the set {1, 2, 3, 4, 5} and Y be the set {6, 7, 8, 9, 10). We describe the functions f: XY and g: XY in the following tables. Answer each part and give a reason for each negative answer. n f(n) n g(n) 1 6 1 10 2 7 2 9 3 6 3 8 4 7 4 7 5 6 5 6 Aa. Is f one-to-one? b. Is fonto? c. Is fa correspondence? Ad. Is g one-to-one? e. Is g onto? f. Is g a correspondence? vi) Let B be the set of all infinite sequences over {0,1}. Show that B is uncountable using a proof by diagonalization.arrow_forwardCan you find the least amount of different numbers to pick from positive numbers (integers) that are at most 100 to confirm two numbers that add up to 101 when each number can be picked at most two times?arrow_forwardCan you find the formula for an that satisfies the provided recursive definition? Please show all steps and justificationarrow_forward
- What is the number of injective functions f from set {1,2,....,2n} to set {1,2,....,2n} so that f(x) >= x for all the 1<= x <= n?arrow_forwardIdeal MOSFET Current–Voltage Characteristics—NMOS Device and draw the circuitarrow_forward1. Create a Person.java file. Implement the public Person and Student classes in Person.java, including all the variables and methods in the UMLS. Person -name: String -street: String -city: String +Person(String name, String, street, String, city) +getName(): String +setName(String name): void +getStreet(): String +setStreet(String street): void +getCity(): String +setCity(String City): void +toString(): String Student -Id: int +Person(String name, String, street, String, city, int Id) +getId(): int +setId(int Id): void +toString(): String 2. Create a StudentTest.java file. Implement a public StudentTest class with a main method. In the main method, create one student object and print the object using System.out.println(). Your printing result must follow the example output: name: Mike, street: Morris Ave, city: Union, Id: 1000 Hint: You need to modify the toString methods in the Student class and Person class!arrow_forward
- EBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTProgramming with Microsoft Visual Basic 2017Computer ScienceISBN:9781337102124Author:Diane ZakPublisher:Cengage LearningProgramming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:Cengage
- Microsoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,New Perspectives on HTML5, CSS3, and JavaScriptComputer ScienceISBN:9781305503922Author:Patrick M. CareyPublisher:Cengage Learning



