Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #36472
| Newsgroups | comp.lang.java.programmer |
|---|---|
| Date | 2017-04-17 08:29 -0700 |
| References | (3 earlier) <od2ena$sf8$1@dont-email.me> <fe8a759e-1df6-4d5d-beb8-44e49ae00e83@googlegroups.com> <od2ifk$98s$1@dont-email.me> <8a53e56c-5877-4c31-976f-5802f926f44a@googlegroups.com> <od2koi$gie$1@dont-email.me> |
| Message-ID | <1bcffbc0-a529-4185-87f2-8e1d66bf319d@googlegroups.com> (permalink) |
| Subject | Re: hash map |
| From | pablo <pa24959122@gmail.com> |
On Monday, 17 April 2017 15:54:12 UTC+1, Eric Sosman wrote:
> On 4/17/2017 10:25 AM, pablo wrote:
> > On Monday, 17 April 2017 15:15:18 UTC+1, Eric Sosman wrote:
> >> On 4/17/2017 9:53 AM, pablo wrote:
> >>>
> >>> import java.util.*;
> >>> /**
> >>> * The class Garage is used to hold data about a collection of customers.
> >>> *
> >>> * @author M250 module team
> >>> * @version 1.0
> >>> */
> >>> public class Garage
> >>> {
> >>> //garage creating an empty instance of map map
> >>> private Map<String,String> map = new HashMap<String, String>();
> >>
> >> Okay: This says that each "Garage" instance owns a Map whose
> >> keys are Strings and whose corresponding values are also Strings,
> >> and it arranges to create such a Map (empty) each time you create
> >> a Garage. Fine so far.
> >>
> >>> map.put("Andrew Smith, address 1 The High Street, area 1");
> >>
> >> ... but this is, er, "less fine." For one thing, it's not a
> >> declaration but an executable statement, a call upon the Map's put()
> >> method. Executable statements can't just float around in the ether,
> >> but must be inside methods or constructors (or static blocks, but
> >> they are less common).
> >>
> >> After you've solved that problem by finding a suitable home for
> >> the executable statement, you'll discover another one: Map's put()
> >> method requires two arguments, the key and corresponding value of a
> >> key/value pair. The method call you have written provides only one
> >> argument, not the required two. Perhaps you meant something like
> >>
> >> map.put("Andrew Smith", "1 The High Street, area 1");
> >>
> >> ... which associates the key "Andrew Smith" with the value "1 The
> >> High Street, area 1". That's just a guess, though, because we don't
> >> know what relationship this map is intended to represent.
> >>
> >>>
> >>>
> >>> }
> >>>
> >>
> >>
> >> --
> >> esosman@comcast-dot-net.invalid
> >> Thirteen hundred seventy-four days to go.
> >
> > hi Eric just to put a little bit of context to this this is what i have been asked to do obviously i am struggling
> >
> > An instance of Garage is used to hold data about a collection of customers. Declare a private instance variable called customers in your Garage class, capable of referencing a map where the keys are strings and the values are Customer objects as below (the order of keys in the map is unimportant):
> > Key Value
> > "123ABC" Customer object with name "Andrew Smith", address "1 The High Street", area 1
> > "456DEF" Customer object with name "Janet Jones", address "145 Main Street", area 1
> > "789GHI" Customer object with name "Christine Charter", address "50 Lake View", area 2
>
> Okay; that's a bit more for me to work with. The first thing to
> realize is that you need to write *two* classes: One to represent a
> Garage, and the other to represent a Customer. Let's begin with the
> latter:
>
> A Customer has a name, an address, and perhaps an "area" -- it's
> not clear to me what the problem's notation signifies. Perhaps a
> Customer has other attributes, too: How many parking spaces he rents,
> how much rent is due each month, how badly the account is in arrears,
> what telephone number(s) will reach him, and so on -- that's up to
> you, or perhaps to the people who have set you the problem (was there,
> by chance, a Customer class as the subject of an earlier exercise?).
>
> At any rate, you need a Customer.java file defining your Customer
> class.
>
> Then you need Garage.java defining Garage. That class will own a
> Map relating the given keys (auto registration plate numbers, perhaps?)
> to the associated Customers. You'll have something like
>
> public class Garage {
> ...
> private Map<String, Customer> customers = new HashMap<>();
> ...
> }
>
> There are two things to note here, one important and one less so. The
> more important thing is that the values in this map are not Strings,
> but Customer objects. Those Customer objects in turn own Strings to
> describe names and addresses and so on, but the Customer objects are
> instances of your Customer class. (The less important thing is the
> use of <> on the right-hand side; the compiler already knows from the
> left-hand side what should go inside the brackets, so you needn't write
> it a second time -- but omitting it is just a handy abbreviation, not
> something that changes the meaning in any way.)
>
> Okay so far? Then how do you put Customers in a Garage?
>
> First, you need a Garage:
>
> Garage pablosGarage = new Garage();
>
> Next, you need some Customers:
>
> Customer c1 = new Customer("Andrew Smith", "1 The High Street");
> Customer c2 = new Customer("Janet Jones", "145 Main Street");
>
> Finally, you need to put the Customers in the Garage -- Oops! The
> Garage's map of keys to Customers is private, and can only be read and
> written from inside the Garage class. So, you need to write a method
> that lets "outsiders" add things to a Garage (and probably additional
> methods to retrieve what's in there, too):
>
> public class Garage {
> ...
> public void addCustomer(String key, Customer cust) {
> customers.put(key, cust);
> }
> ...
> }
>
> ... and then in the "outsider" -- perhaps a Main or Driver class --
> where you've set up pablosGarage and c1 and c2 and the rest, you could
> write
>
> pablosGarage.addCustomer("123ABC", c1);
> pablosGarage.addcustomer("456DEF", c2);
>
> ... and so on to populate the Garage.
>
> I imagine the course will go on to have you implement additional
> methods for Garage and/or Customer, making the assemblage more useful
> by degrees. Perhaps the Garage's keys will change from simple Strings
> to full-fledged Automobile objects, perhaps you will be asked to write
> a method to evict non-paying Customers from your Garage, perhaps ...
>
> --
> esosman@comcast-dot-net.invalid
> Thirteen hundred seventy-four days to go.
sorry mate this is what i have so far and i am getting an error maybe more but to start with i am getting can not find symbol variable customer. i am using bluej editor
import java.util.*;
/**
* The class Garage is used to hold data about a collection of customers.
*
* @author M250 module team
* @version 1.0
*/
public class Garage
{
/**
* Constructor for objects of class Garage
*/
public Garage()
{
Map<String, Customer> customers = new HashMap<>();
}
public void Garage()
{
Garage Garage = new Garage();
}
public void addCustomer(String key, Customer cust)
{
customer.put("123ABC", "Andrew Smith, address 1 The High Street, area 1" );
customer.put("456DEF", "Janet Jones, address 145 Main Street, area 1");
customer.put("789GHI", "Christine Charter, address 50 Lake View, area 2");
}
}
the customer class has already been wrote
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
hash map pablo <pa24959122@gmail.com> - 2017-04-16 11:53 -0700
Re: hash map Martin Gregorie <martin@address-in-sig.invalid> - 2017-04-16 19:10 +0000
Re:hash map omegajunior <omegajunior@protonmail.com> - 2017-04-16 17:11 -0400
Re: hash map pablo <pa24959122@gmail.com> - 2017-04-17 04:31 -0700
Re: hash map Eric Douglas <e.d.programmer@gmail.com> - 2017-04-17 05:11 -0700
Re: hash map pablo <pa24959122@gmail.com> - 2017-04-17 05:32 -0700
Re: hash map Eric Douglas <e.d.programmer@gmail.com> - 2017-04-17 05:58 -0700
Re: hash map Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-04-17 09:10 -0400
Re: hash map pablo <pa24959122@gmail.com> - 2017-04-17 06:53 -0700
Re: hash map Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-04-17 10:15 -0400
Re: hash map pablo <pa24959122@gmail.com> - 2017-04-17 07:25 -0700
Re: hash map Eric Douglas <e.d.programmer@gmail.com> - 2017-04-17 07:46 -0700
Re: hash map Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-04-17 10:54 -0400
Re: hash map pablo <pa24959122@gmail.com> - 2017-04-17 08:29 -0700
Re: hash map Eric Douglas <e.d.programmer@gmail.com> - 2017-04-17 08:44 -0700
Re: hash map Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-04-17 12:07 -0400
Re: hash map pablo <pa24959122@gmail.com> - 2017-04-17 09:32 -0700
Re: hash map Martin Gregorie <martin@address-in-sig.invalid> - 2017-04-17 23:14 +0000
Re: hash map Arne Vajhøj <arne@vajhoej.dk> - 2017-04-17 20:22 -0400
Re: hash map Martin Gregorie <martin@address-in-sig.invalid> - 2017-04-18 01:20 +0000
Re: hash map Arne Vajhøj <arne@vajhoej.dk> - 2017-04-18 20:01 -0400
Re: hash map Martin Gregorie <martin@address-in-sig.invalid> - 2017-04-19 09:02 +0000
Re: hash map Eric Douglas <e.d.programmer@gmail.com> - 2017-04-18 04:54 -0700
Re: hash map Arne Vajhøj <arne@vajhoej.dk> - 2017-04-18 20:03 -0400
Re: hash map Martin Gregorie <martin@address-in-sig.invalid> - 2017-04-19 08:55 +0000
Re: hash map Eric Douglas <e.d.programmer@gmail.com> - 2017-04-19 04:45 -0700
Re: hash map Arne Vajhøj <arne@vajhoej.dk> - 2017-04-18 20:05 -0400
csiph-web