File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes learning java - today: enums Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "learning java - today: enums" Watch "learning java - today: enums" New topic

learning java - today: enums

Martin Vietor
Ranch Hand

Joined: Oct 31, 2008
Posts: 40

I'm trying tolearn java, didn't even know it was a prog language 5 days ago - so bare with me.

I have a boolean array, let's call it when:

boolean[] when = new boolean[7];

I have an enum that looks kinda like this:

enum weekday {
mon("Mondays suck!"),
tue("Tuesdays suck, too!"),
sun("Sundays don't suck so much.");

private final String s, this.s=s andsoforth.

Now: I want my program to output

for (i=0; i<7;i++) {
if (when[i]) sysout(...well, that's kinda the problem! How do I tell the program that when i=0 and when[0] is true to print weekday.mon? Should I write the enum differently? It would really be a little bit of a pain to change the boolean[], as it is used elsewhere in the program, but if that makes more sense: bring it on.

You said no question too simple...

Thanks a bunch, Martin

The problem people have in trying to create something foolproof is that they generally underestimate the inginuity of fools.
Larry Frissell
Ranch Hand

Joined: May 16, 2008
Posts: 82
The is an example in the Sun tutorial here. That shows enum, have you tried that?
Martin Vietor
Ranch Hand

Joined: Oct 31, 2008
Posts: 40
I did, actually, I adjusted my own output to that example, because I didn't think too many people here spoke German.

I could, I suppose, do something like

switch(i) {
case 0 : sysout weekday.mon;
case 1 : sysout weekday.tue;

But that doesn't seem too elegant. I had the data in a string[] before, so I could just write

if when[i] then sysout weekday[i]

The friend who sat down with me for a couple of hours last Sunday to tell me what a class is said I should change it to enum - but now I'm not so sure. Seems more complicated to me...
Rob Spoor

Joined: Oct 27, 2005
Posts: 20279

Every enum class automatically gets a method called values() that returns an array with the values of that enum. Use that one.

How To Ask Questions How To Answer Questions
Martin Vietor
Ranch Hand

Joined: Oct 31, 2008
Posts: 40

You have mae a grace mistake - I shall haunt this place with simple questions!
Stephen Davies
Ranch Hand

Joined: Jul 23, 2008
Posts: 352
Great, but remember, during your Haunting, could you please use the code tags!

be a well encapsulated person, don't expose your privates, unless you public void getWife()!
Martin Vietor
Ranch Hand

Joined: Oct 31, 2008
Posts: 40
I agree. Here's the link:
subject: learning java - today: enums
It's not a secret anymore!