Heinrich Koch is a second-year college student. Last semester his best friend had his laptop stolen. The laptop was an old computer that he planned to replace soon, but the greatest loss was his data: he had not performed a backup and all his data was lost. Heinrich himself does not perform data backups but knows that he needs to do that on a regular basis. He has decided to use an online backup service that will automatically back up his data whenever it changes. Evaluate and compare reviews of online backup services. Consider iDrive, Carbonite, Acronis True Image, BackBlaze, and others you might find in your research. Recommend a service that you consider the best solution for Heinrich. Discuss your reviews and mention speed, security, and features in your recommendation.
Answer:
Acronis True Image is the one I would recommend out of these mentioned online backup services.
Explanation:
The evaluations and reviews of each of the online backup services are as follows:
a. iDrive
For this, we have:
Speed = 60% - fair
Security = 100% - excellent
Privacy = 88% - very good
Features = 95% - excellent
Pricing = 85% - Very good
Because of its various features, pricing, and usability, IDrive reviews suggest that it is a very efficient online backup solution. However, there have been complaints concerning its speed and the fact that there are no monthly plans available.
b. Carbonite
For this, we have:
Speed = 60% - fair
Security = 100% - excellent
Privacy = 87% - very good
Pricing = 85% - very good
File backup and restoration = 75% - good
Carbonite reviews reveal that it is simple to use and provides limitless backup for one device. The main drawback is that it has extremely poor backup speeds.
c. Acronis True Image
This is fast, simple and intuitive
It has complete control over the backup updates, including how and when they occur.
It is not expensive.
Acrnonis True image is a powerful backup storage service. It enables data and file backup and restoration from USB drives.
Many reviewers of Acrnonis True image have stated that they have had no issues with its service, that it is worth purchasing, and that there are no concerns.
d. Backblaze
For this, we have:
Speed = 75% - good
Security = 75% - good
Privacy = 70% - decent
Pricing = 100% - excellent
Support = 95% - excellent
Features = 65% - decent
File back-up and restoration = 70% - decent
Backblaze is one of the most popular internet backup services. This storage service, however, does not allow for ustomization.
Recommendation
Acronis True Image is the one I would recommend out of these mentioned online backup services. This is due to the fact that it delivers a large amount of accurate and high-quality data storage. It is quick, simple and intuitive, which is what most people care about. Furthermore, reviewers have stated that this service is quite effective and that there have been very few issues with it. The other services demonstrate that their services have flaws, such as lack of customization and slowness.
Design a class named Employee. The class should keep the following information in member variables:
Employee name
Employee number
Hire Date
Write one or more constructors and the appropriate accessor and mutator functions for the class.
Next, write a class named ProductionWorker that is derived from the Employee class. The ProductionWorker class should have member variables to hold the following information:
Shift (an integer)
Hourly pay rate (a double)
The workday is divided into two shifts: day and night. The shift variable will hold an integer value representing the shift that the employee works. The day shift is shift 1 and the night shift is shift 2. Write one or more constructors and the appropriate accessor and mutator functions for the class. Demonstrate the classes by writing a program that uses a ProductionWorker object."
Now I have written out the program, it compiles without errors. However, when I run it It asks the first question "Employees name" after input it errors and closes itself down. Can anyone find where in my code it is causing it to do this please? To be clear, I am not asking for someone to write the program, I have already done this, just need to know why it compiles but does not run all the way through. Thank You!
#include
#include
#include
using namespace std;
class Employee
{
private:
string employeeName;
int employeeNumber;
int hireDate;
public:
void setemployeeName(string employeeName);
void setemployeeNumber(int);
void sethireDate(int);
string getemployeeName() const;
int getemployeeNumber() const;
int gethireDate() const;
Employee();
{
Answer:
Here is the code.
Explanation:
#include <iostream>
#include <cstdlib>
#include <string>
#include <iomanip>
using namespace std;
class Employee
{
private:
string employeeName;
int employeeNumber;
int hireDate;
public:
void setemployeeName(string employeeName);
void setemployeeNumber(int);
void sethireDate(int);
string getemployeeName() const;
int getemployeeNumber() const;
int gethireDate() const;
Employee();
};
void Employee::setemployeeName(string employeeName)
{
employeeName = employeeName;
}
void Employee::setemployeeNumber(int b)
{
employeeNumber = b;
}
void Employee::sethireDate(int d)
{
hireDate = d;
}
string Employee::getemployeeName() const
{
return employeeName;
}
int Employee::getemployeeNumber() const
{
return employeeNumber;
}
int Employee::gethireDate() const
{
return hireDate;
}
Employee::Employee()
{
cout << "Please answer some questions about your employees, ";
}
class ProductionWorker :public Employee
{
private:
int Shift;
double hourlyPay;
public:
void setShift(int);
void sethourlyPay(double);
int getShift() const;
double gethourlyPay() const;
ProductionWorker();
};
void ProductionWorker::setShift(int s)
{
Shift = s;
}
void ProductionWorker::sethourlyPay(double p)
{
hourlyPay = p;
}
int ProductionWorker::getShift() const
{
return Shift;
}
double ProductionWorker::gethourlyPay() const
{
return hourlyPay;
}
ProductionWorker::ProductionWorker()
{
cout << "Your responses will be displayed after all data has been received. "<<endl;
}
int main()
{
ProductionWorker info;
string name;
int num;
int date;
int shift;
double pay;
cout << "Please enter employee name: ";
cin >> name;
cout << "Please enter employee number: ";
cin >> num;
cout << "Please enter employee hire date using the format \n";
cout << "2 digit month, 2 digit day, 4 digit year as one number: \n";
cout << "(Example August 12 1981 = 08121981)";
cin >> date;
cout << "Which shift does the employee work: \n";
cout << "Enter 1, 2, or 3";
cin >> shift;
cout << "Please enter the employee's rate of pay: ";
cin >> pay;
info.setemployeeName(name);
info.setemployeeNumber(num);
info.sethireDate(date);
info.setShift(shift);
info.sethourlyPay(pay);
cout << "The data you entered for this employee is as follows: \n";
cout << "Name: " << info.getemployeeName() << endl;
cout << "Number: " << info.getemployeeNumber() << endl;
cout << "Hire Date: " << info.gethireDate() << endl;
cout << "Shift: " << info.getShift() << endl;
cout << setprecision(2) << fixed;
cout << "Pay Rate: " << info.gethourlyPay() << endl;
system("pause");
return 0;
}
Describe five examples of civil engineering projects.
Answer:
Hereare 5 types of civil engineering projects:
1 )Water engineering.
2)Construction and management engineering.
3)Structural engineering.
4)Geotechnical engineering.
5)Transport engineering.
please use True / False to help me on the bellow questions
1. Netiquette is one of the services on the internet......
2. The web can exist without the internet and vice versa........
3. Telecommunication technologies are heavily used
on the internet.........
Match the terms with the appropriate definition by writing the letter of the alphabet against it.
(A) home page. (B) link (C) wikis (D) URL (E) Browser (F) netiquette (G) mailing list. (H) uploading. (I) Blog (J)Extranet. (K) HTML.
(L)internet
4.--------- a language used to create web pages and web documents.
5. -------- a private network that connects more than one organisation.
6.----------the process of transferring documents to a web server.
7.............A code and guidelines for acceptable behavior on the internet.
8..........Built-in connection to related web pages or part of a web page.
9..........A software interpret and display web page.
10.............A unique adress of a web resource.
11............ web site that allow visitors to easily contribute or correct content
12.............a running web log that allows an individual to post opinions and ideas.
13...........A discussion forum that is based on e-mails
Answer:
The answer is below
Explanation:
1. Netiquette is one of the services on the internet - FALSE. This is because Netiquette is defined as a bunch of regulations for acceptable online attitude or conduct.
2. The web can exist without the internet and vice versa. FALSE. This is because the web, a short form of world wide web (www), can only be accessed through the internet
3. Telecommunication technologies are heavily used on the internet. TRUE. This is because telecommunication technologies such as Smartphones, Emails, Televisions, Radios, data communication, computer networking, etc, which involve the transfer of information, such as voice, video, and data, are heavily used on the internet.
4. HTML - a language used to create web pages and web documents.
5. EXTRANET- a private network that connects more than one organization.
6. UPLOADING - the process of transferring documents to a web server.
7. NETIQUETTE - A code and guidelines for acceptable behavior on the internet.
8. LINK - Built-in connection to related web pages or part of a web page.
9. BROWSER - A software interprets and displays web pages.
10. URL - A unique address of a web resource.
11. WIKIS - web site that allows visitors to easily contribute or correct content
12. BLOG - a running weblog that allows an individual to post opinions and ideas.
13. MAILING LIST A discussion forum that is based on e-mails
QUESTION 4 PRACTICAL EXERSIZE
create a list of the types of computers and write a key characteristic down for each of them. For example LAPTOP- portable computer.
Answer:
Mainframe, Super Computer, Workstation, Personal Computer, Laptop computer and Tablet and Smartphone.
Explanation:
Mainframe Computer is high capacity and costly computer.
Super Computer is the fastest among all computer and also very expensive.
Workstation is a high-performance computer system that has advanced graphics capabilities, having large storage capacity and a powerful CPU.
Personal Computer is a computer whose size, capabilities, and price make it feasible for individual use.
Laptop computer is a type of computer which is portable, having high storage and very high speed.
Tablet and Smartphone is a type of computer which is also portable and can be kept in pocket.
what is the difference of expository and reflexive documentary
This is your code.
>>> A = [21, 'dog', 'red']
>>> B = [35, 'cat', 'blue')
>>> C = [12, 'fish', 'green']
>>> E = (A, B, C]
What is the value of E[0][1]?
O 35
dog
0 21
O cat
Answer:
dog
Explanation:
Given the code :
>>> A = [21, 'dog', 'red']
>>> B = [35, 'cat', 'blue')
>>> C = [12, 'fish', 'green']
>>> E = [A, B, C]
the value of E[0][1]
Here, square boxes is used to select the value at E[0] ; the output is then used to select the value at index 1 of E[0] output.
Note that, indexing starts at 0; hence first list element is 0, then, 1, 2, and so on.
At
E[0] ; list E, index 0 (first element in the list) , gives an output A
Then, A[1] ; list A, index 1 (second element in the list) gives 'dog'
Answer:
dog
Explanation:
right on edge
An array is a fixed-size container which stores a collection of values of the same type.
a. True
b. False
diagram of a central processing unit
Describe how data is transmitted using half-duplex serial data transmission.
Answer:
In half duplex mode, the signal is sent in both directions, but one at a time. In full duplex mode, the signal is sent in both directions at the same time. In simplex mode, only one device can transmit the signal. In half duplex mode, both devices can transmit the signal, but one at a time.
as an IT manager write a memo to the student explaining the requirements of an ideal computer room
The correct answer to this open question is the following.
Memorandum.
To: IT class.
From: Professor Smith.
Date:
Dear students,
The purpose of this memorandum is to let you all know the requirements of an ideal computer room.
1.- The compute room should be a decent, large, space, ready to accommodate the number of students that are going to participate in class.
2.- The proper temperature levels. All the hardware can't stand too much heat. We need ventilators and the right temperature for safety purposes.
3.- The organization of the PCs on every desk must be precise in order to have enough room for everybody's participation and interaction.
4.- Have a proper fire suppression system in place. The risk of fire when working with electronics is considerable.
5.- Access control. The equipment is expensive and must be just for qualified students. Have the proper control-access system to keep the place safe.
Thank you for your attention.
With your cooperation, the computer room should be a place to learn and have fun learning new things.
Write a function number_of_pennies() that returns the total number of pennies given a number of dollars and (optionally) a number of pennies. Ex: If you have $5.06 then the input is 5 6, and if you have $4.00 then the input is 4. Sample output with inputs: 5 6 4 506 400
Answer:
The function is as follows:
def number_of_pennies(dollars,pennies=0):
return dollars*100+pennies
Explanation:
This defines the function
def number_of_pennies(dollars,pennies=0):
This returns the number of pennies
return dollars*100+pennies
Note that, if the number of pennies is not passed to the function, the function takes it as 0
Answer:
Code is given as:-
#number_of_pennies function with one default argument with pennies as 0 when no pennies parameter is given
def number_of_pennies(dollars,pennies = 0):
pennies = dollars*100 + pennies #one dollar equals 100 pennies so calculate total pennies with this formula
return pennies #return total pennies
print(number_of_pennies(int(input()),int(input()))) #both Dollars and pennies
print(number_of_pennies(int(input()))) #Dollars only
Explanation:
Here is the sample code and output.
Which of the following is not true about deep learning
Answer: it is also known as supervised learning
Explanation:
Deep learning is a sub field of machine learning and it refers to an artificial intelligence function that has to do with the imitation of the way that the brain works in the processing data which are used in making decisions.
It should be noted that deep learning is not thesame as supervised learning. While there's no creation of high-level abstraction of input features in the supervised learning, there's formation of abstractions of input features in deep learning.
Write a method that prints on the screen a message stating whether 2 circles touch each other, do not touch each other or intersect. The method accepts the coordinates of the center of the first circle and its radius, and the coordinates of the center of the second circle and its radius.
The header of the method is as follows:
public static void checkIntersection(double x1, double y1, double r1, double x2, double y2, double r2)
Hint:
Distance between centers C1 and C2 is calculated as follows:
d = Math.sqrt((x1 - x2)2 + (y1 - y2)2).
There are three conditions that arise:
1. If d == r1 + r2
Circles touch each other.
2. If d > r1 + r2
Circles do not touch each other.
3. If d < r1 + r2
Circles intersect.
Answer:
The method is as follows:
public static void checkIntersection(double x1, double y1, double r1, double x2, double y2, double r2){
double d = Math.sqrt(Math.pow((x1 - x2),2) + Math.pow((y1 - y2),2));
if(d == r1 + r2){
System.out.print("The circles touch each other"); }
else if(d > r1 + r2){
System.out.print("The circles do not touch each other"); }
else{
System.out.print("The circles intersect"); }
}
Explanation:
This defines the method
public static void checkIntersection(double x1, double y1, double r1, double x2, double y2, double r2){
This calculate the distance
double d = Math.sqrt(Math.pow((x1 - x2),2) + Math.pow((y1 - y2),2));
If the distance equals the sum of both radii, then the circles touch one another
if(d == r1 + r2){
System.out.print("The circles touch each other"); }
If the distance is greater than the sum of both radii, then the circles do not touch one another
else if(d > r1 + r2){
System.out.print("The circles do not touch each other"); }
If the distance is less than the sum of both radii, then the circles intersect
else{
System.out.print("The circles intersect"); }
}
full form of computer
Answer:
COMPUTER: Common Operating Machine Purposely used for Technological and Educational research.
Explanation:
By the way, a computer is not an acronym and is the name of an electronic device.
A computer is a simple machine that we can program for a lot of logical and arithmetic functions, and it executes our work according to our instructions.
in simple words, a computer is an electronic device that makes our work easy, and any computer that has been programmed for some set of works, it performs that task or works quickly and correctly.
Use appropriate method calls from the List ADT to create the following list:
< 4 19 | 23 30 >
You should assume that L is passed to the function as an empty list.
public List buildList(List L)
{
}
Answer:
The complete method is as follows:
public List buildList(List L) {
L.insert(30);
L.insert(23);
L.insert(19);
L.insert(4);
return L; }
Explanation:
To complete the method, we make use of the insert() function.
This inserts elements of the list into list L. However, we have to start from the last element (i.e. in descending order)
So, the explanation is as follows:
L.insert(30); --- This inserts the last element
Continue inserting in descending order
L.insert(23);
L.insert(19);
Until the first list element is inserted
L.insert(4);
This returns the filled list L
return L;
A class of ArrayList is a redimensionable array in java. During built-in arrays, ArrayLists can dynamically change their size. Elements can be added and removed from an ArrayList when necessary, which helps the user handle this same memory, and the method described can be defined as follows:
Method code:
public List buildList(List L)//defining a method buildList that takes List variable L in parameter
{
L.insert("30");//Calling insert method that takes a value in parameter.
L.insert("23");//Calling insert method that takes a value in parameter.
L.insert("19");//Calling insert method that takes a value in parameter.
L.insert("4");//Calling insert method that takes a value in parameter.
L.next();//calling next method that prints list value
L.next();//calling next method that prints list value
return L;//return list value L
}
Method Description:
In this code, a List type of method "buildList" is declared that accepts the List type of variable L in parameter.Inside the method, an insert method is declared that accepts an integer variable in its parameter.In the next step, the next method is called which is used the ListIters interface method, the next item is returned in the list given. At the last, it uses the return keyword that returns the list value "L".Learn more:
brainly.com/question/2901618
Write a Fortran Program to calculate area of a circle
Explanation:
πr square
That's the formula for calculating area of a circle.
Design an algorithm to generate the sequence of positive integers (In increasing order) whose only prime divisors are 2 and 3.
Answer:
es muy buena pero es muy difícil que ni yo pude entender
Which statement, executed once at the start of main(), enables a program to generate a different sequence of pseudo-random numbers from rand() each time the program is run?
Answer:
(b) srand(time(0))
Explanation:
Given
See attachment for options
Required
Which would generate different set of random numbers
To do this, we analyze each of the options - one at a time.
(a) srand()
The above is an invalid usage of srand() because srand() requires an argument for it to function e.g. srand(2)
(b) srand(time(0))
The above is valid, and it will return different pseudo random numbers each time the statement is executed because time(0) lets srand() seed to the current time.
(c) srand(100)
The above is a valid usage of srand(), however rand() will generate same set of numbers because srand() has been seeded to only 100.
(d) time(srand())
The above is also an invalid usage of srand().
PLS PAK I ANSWER NITO KAILANGAN LANGPO
1. E-gro.up
2. Faceb.ook
3. Gm.ail
4. Go to www.gm.ail.com
5. Gm.ail
6. Go to www.faceb.ook.com
These are the answers.
Use the variables k and total to write a while loop that computes the sum of the squares of the first 50 counting numbers, and associates that value with total. Thus your code should associate 11 22 33 ... 4949 50*50 with total. Use no variables other than k and total.
Answer:
total = 0
k = 1
while k <= 50:
total += k**2
k += 1
print(total)
Explanation:
Note: There some errors in the question. The correct complete question is therefore provided before answering the question as follows:
Use the variables k and total to write a while loop that computes the sum of the squares of the first 50 counting numbers, and associates that value with total. Thus your code should associate 1*1 + 2*2 + 3*3 +... + 49*49 + 50*50 with total. Use no variables other than k and total.
The answer is now explained as follows:
# Initialize k which is the number of term
k = 1
# Initialize total which is the sum of squares
total = 0
# Loop as long as k is less than or equal to 50.
while (k <= 50):
# Add the square of k to total in order to increase it
total = total + k * k
# Increase the value of k by one.
k += 1
# Finally, output total
print (total)
In the U.S. fuel efficiency of cars is specified in miles per gallon (mpg). In Europe it is often expressed in liters per 100 km. Write a MATLAB user- defined function that converts fuel efficiency from mpg to liters per 100 km. For the function name and arguments, use Lkm-mpgToLpkm (mpg). The input argument mpg is the efficiency in mi/gl, and the output argument Lkm is the efficiency in liters per 100 km (rounded to the nearest hundredth). Use the function in the Command Window to:________.
(a) Determine the fuel eficiency in liters per 100 km of a car whose fuel effi- ciency is 21 mi/gal.
(b) Determine the fuel efficiency in liters per 100 km of a car whose fuel effi- ciency is 36 mi/gal.
Answer and Explanation:
Using MATLAB code:
Function Lkm = Lkm-mpgToLpkm (mpg)
Lkm= mpg*1.60934/3.78541;
Lkm= Lkm^(-1);
Lkm= Lkm*100;
%the code above defines a function Lkm and takes argument/input to its parameter mpg(miles per gallon) and then returns/output Lkm which is the litres per kilometers conversion from miles per gallon input.
end
To call the function written above with argument 30 mpg, we write:
Lkm= Lkm-mpgToLpkm (30)
The following pseudocode describes how a widget company computes the price of an order from the total price and the number of the widgets that were ordered. Read the number of widgets. Multiple the number of widgets by the price per widget of 9.99. Compute the tax (5.5 percent of the total price). Compute the shipping charge (.40 per widget). The price of the order is the sum of the total widget price, the tax, and the shipping charge. Print the price of the order
Answer:
The program in Python is as follows:
widget = int(input("Widgets: "))
price = widget * 9.9
tax = price * 0.55
ship = price * 0.40
totalprice = price + tax + ship
print("Total Price: $",totalprice)
Explanation:
The question is incomplete, as what is required is not stated.
However, I will write convert the pseudocode to a programming language (in Python)
Get the number of widgets
widget = int(input("Widgets: "))
Calculate price
price = widget * 9.9
Calculate the tax
tax = price * 0.55
Calculate the shipping price
ship = price * 0.40
Calculate the total price
totalprice = price + tax + ship
Print the calculated total price
print("Total Price: $",totalprice)
You are a high school student learning about computers and how to build them. As a class project, you have built a new computer. You power on your computer and begin to configure the system. After a short while, you notice smoke coming from the PC, and shortly after that, the computer stops working. After removing the computer case, you see that the CPU and surrounding areas are burnt and very hot. You realize that the costly mistake you made was not using a heat sink. When rebuilding your computer, which cooling systems would MOST efficiently remove heat from the CPU?
Answer:
You can use thermal paste, active heat sink, liquid pipes, and even a fan. These are just some that I've heard.
Explanation:
All of these are cooling and will stop the Central Processing Unit from overheating.
Hope this helps :)
When rebuilding your computer, the cooling systems which would most efficiently remove heat from the Central processing unit (CPU) are: cooling fan and thermal compounds.
A computer refers to an intelligent electronic device that is designed and developed to receive raw data as an input and then processes these data into an information (output) that is usable by an end user.
Basically, the main part of a computer are broadly divided into the following;
Input devices (peripherals). Output devices (peripherals). Motherboard. Memory and storage device.Central processing unit (CPU).A cooling device can be defined as a device that is designed and developed to efficiently remove or dissipate heat from the inside of a computer. The cooing system used in a computer are grouped into two
(2) main categories and these are:
I. Active cooling device: an example is a cooling fan.
II. Passive cooling device: an example is a heat sink.
In conclusion, the cooling systems which would most efficiently remove heat from the Central processing unit (CPU) are cooling fan and thermal compounds.
Read more: https://brainly.com/question/10983152
What are the consequences of writing selection structures to include an unnecessary nested selection structure ?
Answer: less efficient code
Explanation:
When a programmer studies the specifications of a problem, then the programmer can then decide if the solution to the problem will require a nested selection structure or not.
One consequences of writing selection structures to include an unnecessary nested selection structure is that it produces a less efficient code.
Given that s refers to a set, write a statement that attempts to remove integer 11 from the set, but will do nothing if 11 is not in the set.
Answer:
Here is the code:-
#(5) Given that s refers to a set, write a statement that attempts
#to remove the int value 11 from the set, but will do nothing if 11 is
#not in the set
#check if 11 is in not in s
if 11 is not in s:
pass
else:
#other wise remove 11 from s
s.remove(11)
Explanation:
1. Which of the following is smallest?
a) desktop System Unit
b) notebooks System Unit
c) PDA System Unit
d) tablet PC’s
Answer:
c) PDA System Unit
Explanation:
.... ...
Trust me mark me as brainliest trust me
Answer:
The smallest is PDA System Unit - c
The number of host addresses are available on the network 172.16.128.0 with a subnet mask of 255.255.252.0. Show the calculations.
Answer:
adress: 10101100.00010000.1 0000000.00000000
netmask: 11111111.11111111.1 0000000.00000000
Network: 172.16.128.0/17 10101100.00010000.1 0000000.00000000 (Class B)
Explanation:
ex: 10 -> 00001010
200 ->11001000
how to add a fixed decimal value to an identifier using Delphi 10 coding?
Answer:A declaration defines an identifier (such as the name of a function or variable) that ... This topic introduces the Delphi language character set, and describes the syntax for ... The Delphi language uses the Unicode character encoding for its character set, ... Integer and real constants can be represented in decimal notation as ...
Explanation:
After reading all L02 content pages in Lesson 02: Inheritance and Interfaces, you will complete this assignment according to the information below.Do not use the scanner class or any other user input request. You application should be self-contained and run without user input.Assignment ObjectivesPractice on implementing interfaces in JavaFootballPlayer will implement the interface TableMemberOverriding methodswhen FootballPlayer implements TableMember, FootballPlayer will have to write the real Java code for all the interface abstract methodsDeliverablesA zipped Java project according to the How to submit Labs and Assignments guide.O.O. Requirements (these items will be part of your grade)One class, one file. Don't create multiple classes in the same .java fileDon't use static variables and methodsEncapsulation: make sure you protect your class variables and provide access to them through get and set methodsAll the classes are required to have a constructor that receives all the attributes as parameters and update the attributes accordinglyAll the classes are required to have an "empty" constructor that receives no parameters but updates all the attributes as neededFollow Horstmann's Java Language Coding GuidelinesOrganized in packages (MVC - Model - View Controller)Contents
Solution :
App.java:
import Controller.Controller;
import Model.Model;
import View.View;
public class App
{
public static void main(String[] args) // Main method
{
Model model = new Model(); // Creates model object.
View view = new View(); // Creates view object.
Controller controller = new Controller(view, model); // Creates controller object that accepts view and model objects.
}
}
[tex]\text{Controller.java:}[/tex]
package Controller;
[tex]\text{impor}t \text{ Model.Model;}[/tex]
import View.View;
[tex]\text{public class Controller}[/tex]
{
Model model; // Model object
View view; // View object
public Controller(View v, Model m) // Method that imports both model and view classes as objects.
{
model = m;
view = v;
//view.basicDisplay(model.getData()); // basicDisplay method from View class prints FootballPlayer objects as Strings from Model class.
view.basicDisplay(model.getMembers().get(1).getAttributeName(3));
view.basicDisplay(model.getMembers().get(1).getAttribute(3));
view.basicDisplay(model.getMembers().get(1).getAttributeNames());
view.basicDisplay(model.getMembers().get(1).getAttributes());
view.basicDisplay("size of names=" + model.getMembers().get(1).getAttributeNames().size());
view.basicDisplay("size of attributes=" + model.getMembers().get(1).getAttributes().size());
}
}
FootballPlayer.java:
package Model;
import java.util.ArrayList;
public class FootballPlayer extends Person implements TableMember { // Used "extends" keyword to inherit attributes from superclass Person, while using "implements" to implement methods from TableMember interface.
private int number; // Creating private attribute for int number.
private String position; // Creating private attribute for String position.
public FootballPlayer(String name, int feet, int inches, int weight, String hometown, String highSchool, int number, String position) // Full parameter constructor for FootballPlayer object (using "super" keyword to incorporate attributes from superclass).
{
super(name, feet, inches, weight, hometown, highSchool); // Used super keyword to include attributes from superclass.
this.number = number; // Value assigned from getNumber method to private number instance variable for FootballPlayer object.
this.position = position; // Value assigned from getPosition method to private position instance variable for FootballPlayer object.
}
public FootballPlayer() // No parameter constructor for FootballPlayer object.
{
this.number = 0; // Default value assigned to private number instance variable under no parameter constructor for FootballPlayer object.
this.position = "N/A"; // Default value assigned to private position instance variable under no parameter constructor for FootballPlayer object.
}
Override
public String getAttribute(int n) // getAttribute method that is implemented from interface.
{
switch (n) { // Switch statement for each attribute from each FootballPlayer object. Including two local attributes, denoted by this. While the others are denoted by "super".
case 0:
return String.valueOf(this.number); // Use of the dot operator allowed me to discover String.valueOf method to output int attributes as a string.
case 1:
return this.position;
case 2:
return super.getName();
case 3:
return super.getHeight().toString();
case 4:
return String.valueOf(super.getWeight());
case 5:
return super.getHometown();
case 6:
return super.getHighSchool();
default:
return ("invalid input parameter");
}
}
Override
public ArrayList<String> getAttributes() // getAttributes ArrayList method that is implemented from interface.
{
ArrayList<String> getAttributes = new ArrayList<>();
for(int i = 0; i <= 6; i++){ // For loop to add each attribute to the getAttributes ArrayList from getAttributes method.
getAttributes.add(getAttribute(i));
}
return getAttributes;
}
Override
public String getAttributeName(int n) // getAttributeName method implemented from interface.
{
switch (n) { // Switch statement for the name of each attribute from each FootballPlayer object.
case 0:
return "number";
case 1:
return "position";
case 2:
return "name";
case 3:
return "height";
case 4:
return "weight";
case 5:
return "hometown";
case 6:
return "highSchool";
default:
return ("invalid input parameter");
}
}