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
olasank [31]
3 years ago
13

You have been given two classes, a Main.java and a Coin.java. The coin class represents a coin. Any object made from it will hav

e a 1) name, 2) weight and 3) value. As of now, the instance variables in Coin.java are all public, and the main function is calling these variables directly for the one coin made in it.
Required:
Your goal is to enforce information hiding principles in this tasl. Take Coin.java, make all instance variables private and create set/get functions for each instance variable. Then replace the direct references in main() to each instance variable with a call to an appropriate set or get function.

Computers and Technology
1 answer:
11111nata11111 [884]3 years ago
3 0

Answer:

Here is the Coin class:

public class Coin {  //class names

 private int value;  // private member variable of type int of class Coin to store the value

 private String coinName;  // private member variable of type String of class Coin to store the coint name

 private double weight;      //private member variable of type double of class Coin to store the weight

  public void setValue (int v) {  //mutator method to set the value field

    value = v;  }  

     

 public void setName(String n){  //mutator method to set coinName field

    coinName = n;}  

 public void setWeight (double w) {  //mutator method to set weight field

    weight = w;  }  

 public int getValue () {  //accessor method to get the value

   return value;  }  // returns the current value

 

 public String getName () {  //accessor method to get the coin name

   return coinName;  }  //returns the current coin name

   

 public double getWeight () {   //accessor method to get the weight

   return weight;  } } //returns the current weight

 

Explanation:

Here is the Main.java

public class Main{ //class name

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

Coin penny = new Coin(); //creates object of Coin class called penny

penny.setName("Penny");  //calls setName method of Coin using object penny to set the coinName to Penny

penny.setValue(1); //calls setValue method of Coin using object penny to set the coin value to 1

penny.setWeight(0.003); //calls setWeight method of Coin using object penny to set the coin weight to 0.003

   System.out.println("Coin name: " + penny.getName()); // calls getName method of Coin using penny object to get the current coin name stored in coinName field    

   System.out.println("Coin value: " + penny.getValue()); // calls getValue method of Coin using penny object to get the coin value stored in value field    

   System.out.println("Coin weight: " +penny.getWeight()); }} // calls getWeight method of Coin using penny object to get the coin weight stored in weight field    

The value of coinName is set to Penny, that of value is set to 1 and that of weight is set to 0.003 using mutator method and then the accessor methods to access these values and prinln() to display these accessed values on output screen. Hence the output of the entire program is:

Coin name: Penny                                                                                                                                Coin value: 1                                                                                                                                   Coin weight: 0.003

The screenshot of the program along with its output is attached.

You might be interested in
Assignment 8: Personal Organizer (in edhesive or python please)
serg [7]

Answer:

eventName = []

eventMonth = []

eventDay = []

eventYear = []

def addEvent():

   userEventName = input("Enter event name: ")

   userEventMonth = int(input("Enter event month (1-12): "))

   userEventDay = int(input("Enter event day(1-31): "))

   userEventYear = int(input("Enter event year (Ex:2020): "))

   userEventMonth = validateMonth(userEventMonth)

   userEventDay = validateDay(userEventMonth,userEventDay,userEventYear)

   

   eventName.append(userEventName)

   eventMonth.append(userEventMonth)

   eventDay.append(userEventDay)

   eventYear.append(userEventYear)

   

def validateMonth(month):

   if month >= 1 and month <= 12:

       return month

   else:

       return 1

def validateDay(month,day,year):

   # invalid days

   if day < 1 or day > 31 :

       return 1

   

   # if the month is february

   if month == 2:

       isleap = False

       if year%4 == 0:

           if year%100 == 0:

               if year%400 == 0:

                   isleap = True

           else:

               isleap = True

       # if the year is leap

       if isleap:

           if day < 30:                

return day

           else:

               return 1

       else:

            if day < 29:

               return day

            else:

               return 1

           

    # month with 31 days

   if month in [1,3,5,7,8,10,12]:

       return day

    # month with 30 days

   if month in [4,6,9,11] and day < 31:

       return day

   else:

       return 1

           

def printEvents():

   print("****** LIST OF EVENTS *********")

   

   months = ['January', 'February', 'March', 'April', 'May', 'June', 'July',

         'August', 'September', 'October', 'November', 'December']

   

   for index in range(len(eventName)):

       print(eventName[index])

       print("Date: "+months[eventMonth[index] -1]+ " " + str(eventDay[index]) + ", " + str(eventYear[index]))

def printEventsForMonth(month):

   months = ['January', 'February', 'March', 'April', 'May', 'June', 'July',

         'August', 'September', 'October', 'November', 'December']

   print("****** EVENTS IN " + months[month -1] + " *********")

   

   for index in range(len(eventName)):

       if eventMonth[index] == month:

           print(eventName[index])

           print("Date: "+months[eventMonth[index] -1]+ " " + str(eventDay[index]) + ", " + str(eventYear[index]))

userChoice = "yes"

while userChoice.upper() != "NO":

   addEvent()

   userChoice = input("Do you want to enter another event? NO to stop: ")

printEvents()

Explanation:

hope this saved somebody from a mental breakdown :)

3 0
3 years ago
Read 2 more answers
Which number is equivalent to 17e3?<br><br> 17000.0<br> 1700.0<br> 0.017<br> 0.17
Nina [5.8K]

Answer:

17000.0

Explanation:

since it is a positive 3 you move the decimal 3 times to the right

8 0
3 years ago
Is www part of every url address?
melisa1 [442]
The correct answer is that WWW. is universal, meaning that any and all url addresses start and have www.

My reasoning is that if you were to look up, lets say google, do :

www.(google).com ( remove parentheses )

then

google.com 

You come up with the same results THUS YOUR CORRECT ANSWER IS YES! ALL URL ADDRESS HAVE AND CONTAIN WWW.!!!

5 0
4 years ago
Voip uses ________ technology similar to email to transmit voice over the internet.
azamat
Voice Over Internet Protocol
7 0
3 years ago
What is the Definition of actuating
Radda [10]

Explanation:

to put into mechanical action or motion The pump is actuated by the windmill.

7 0
3 years ago
Read 2 more answers
Other questions:
  • Click ____ to move a stacked object to the top of the stack. Move to Top Bring to Front Slide to Top Move to Front
    12·1 answer
  • Riley is using access to collect data for a science project. he is creating a report and wants to apply predefined color and fon
    6·1 answer
  • The web server software used has a significant impact on how a web site's web pages look on a user's computer.
    7·1 answer
  • Tom is required to present the activities of his Nature club each month to the school committee. Which presentation element can
    12·2 answers
  • You are creating a mobile Web site for your company's polling service. Users will be completing polls and surveys about various
    15·1 answer
  • Alice just wrote a new app using Python. She tested her code and noticed some of her lines of code are out of order. Which princ
    8·1 answer
  • Although designed to support remote dial-in access to a corporate network, what service below is commonly used with 802.1x port
    12·1 answer
  • How many keys are utilized in symmetric cryptography?A. OneB. TwoC. ThreeD. Four
    10·1 answer
  • Uh i g08ujunuyv kjmn
    11·2 answers
  • Fill in the blank to complete the sentence.
    8·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!