Java Multiple Switch Statements

Posted on 2008-10-11
Medium Priority
Last Modified: 2013-11-23
I'm in a beginning Java class and our assignment is to use multiple switch statements to print the Twelve Days of Christmas verses so it loops through each day and the corresponding gifts. Not looking for the entire code, but can anyone give me some general guidance on how to set this up? Our textbook only gives examples of one switch statement and I haven't been able to get my code to pick up the second switch.

Question by:mcsusan
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Expert Comment

ID: 22694550
Please go to the Sun java tutorial. There you will find an example and guidance:


Accepted Solution

mbodewes earned 2000 total points
ID: 22694662
The nicest way is probably to use an enum (or if you haven't seen one of those yet) an integer representing the day. Int is probably even better. Your switch statement could use fall through (be sure to document it though). So you have in psuedo code:

for i = 1 to 12
print ...my true love etc ...
  case 12:
  case 11:
    comment: fall through
      error: wrong day

and a method getGift(giftForDay)


I think this is the maximum I can do without spoiling everything. I'll leave the coding up to you. Make sure you do it very neatly, they may give you more points for the actual readability than for the solution itself.

Expert Comment

ID: 22695237
Why don't you go for with Array Concept...

day[0] = "Firstday Gift"
day[1] = "Second day Gift"
day[11] = "Lastdat Gift"

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Expert Comment

ID: 22695355
sreehariharan: "I'm in a beginning Java class and our assignment is to use multiple switch statements"

Expert Comment

ID: 22695430

so in case he can use the syntax below

day = '10' // You can assign or get as parameter

swith (day)
case 1: System.out.print("I day Gift"); break;
case 2: System.out.print("II day Gift"); break;
case 12: System.out.print("12th day Gift"); break;
default: System.out.print("No Gifts other than these days"); break;

And Dont Confuse Multiple Switch mean as Nested Switch like

case 1:
        case 1: ***** break;
        case 2: ***** break;

My recommend is Using Switch Case will degrade your performance and ordinary switch statement itself called as Multiple switch CASE statement.. Since you are having your assignment with Multiple switch statement, you can follow above snippet...


Expert Comment

ID: 22695491
sreehariharan, I don't want to be pedantic, but you're not helping here.
- I don't understand what is wrong with my solution, and wrong with your solution
- Your code does not only not compile and is formatted and styled very badly
- Your spelling is pretty bad, capitalization is off and your sentences don't run
- You're using real code, but you aren't using the code snippet option
- You're providing real code to someone that is using Java for an assignment
- You're bringing in performance to a problem where performance is absolutely not required.
- Switch cases are performing, basically you can use less conditionals using switch statements
Please take some time and read through some questions and solutions provided in the Java area.

Answers to "New to Java"  are pretty thick, so you have to be quick and precise when answering them. Only answer with clear solutions and before someone has given an answer you feel is sufficient.

Expert Comment

ID: 22695493
"- I don't understand what is wrong with my solution, and wrong with your solution"

should be

"- I don't understand what is wrong with my solution, that's right with your solution"

Expert Comment

ID: 22697630
Hi come on... am not telling that ur solution is wrong...
i just explained him with clear. since he is beginner of Java...

And in this forum is meant for suggest to the unknown and not arguing with others...

Ok If so, in your solution for loop is not needed...

eg: consider today's christmas day is 2
according to ur logic it will be run for all the days...
i mean from 2 to 12... but he expect the gift on second day....

be COooOooL.....

Expert Comment

ID: 22698138
Author: If you've got any problem with the implementation, don't hesitate to ask within this thread. We've got to do something to earn the 500 points. I regret the argument that has sprung up.

Author Closing Comment

ID: 31505323
Thanks for the help.  I turned the assignment in late but it DID work.

Featured Post

Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
Suggested Courses
Course of the Month10 days, 4 hours left to enroll

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question