Welcome to the Java Programming Forums

The professional, friendly Java community. 21,500 members and growing!

The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.

>> REGISTER NOW TO START POSTING

# Thread: Help with switch statements

1. ## Help with switch statements

Hello all,

I'm in a intro java class, and while the teacher is great, I am still having some issues with understanding how to use the switch method.

The instructions are to:
write a program that calculates the price per month that an ISP charges according to base plan + usage. There are three plans: A,B,C.

Each are targeted to different people, but if you use too many hours, a certain plan will work best for you and the program is supposed to point that out.

So basically,

Plan A: \$9.95/month for first 10 hours, \$2.00 extra for each additional hours
Plan B: \$13.85 first 20 hours, each addt. hour \$1
Plan C: \$19.95 and unlimited hours

I will need to ask the user for the plan type they are using, and then how many hours.

Then, calculate their bill.

Then if there is a plan that works better for them, I will need to use a switch statement to recommend them a better plan (if one exists) and then display the amount of money they will save by switching.

I wrote what I have so far, but I am having problems with switch statements since it doesn't let me use operators such as == != || && and it also doesn't allow me to use double variables.

I would appreciate any help. Thanks for reading.

p.s.

My code is really inefficient, since I need to write each case separately by the hour entered. I would like to use interval groups like "hours > 20" or similar. My program also isn't able to calculate what the best plan would be and to display the cost savings. I know my code is probably an eyesore, it's my first week with programming in general so please understand. Thank you

```import java.util.Scanner;

public class InternetPackages

{
public static void main(String [] args)
{
String input; //hold a line of input
char Package; //hold single character

int hours; //holds hour online
double baseA = 9.95;
double baseB = 13.95;
double baseC = 19.95;

//Scanner to read input from user

Scanner keyboard = new Scanner(System.in);

+"A \n"
+"B \n"
+"C \n");

{
input = keyboard.nextLine(); //get a line of input
Package = input.charAt(0); //get the first character
//ring choice = input.next();

System.out.println("How many whole hours did you use the internet for this month?\n"
+ "(Round up to the nearest whole hour.)\n"
+ "If hours exceed 30, please enter 30.");

hours = keyboard.nextInt();

if (input.equals ("A")&&(hours > 10.0))

{
double resultA = ((hours - 10.0) * 2)+(baseA); //first 10 hours free
System.out.println("Amount due: " +resultA);
}

if (input.equals ("A") && (hours <= 10.0))
System.out.println("Amount due: " +baseA);

else

if (input.equals ("B") && (hours > 20.0))
{
double resultB = ((hours - 20.0) * 1)+ (baseB);
System.out.println("Amount due: " +resultB);
}

if (input.equals ("B") && (hours <= 20.0))
{
System.out.println("Amount due: " +baseB);
}
else

if (input.equals ("C"))
System.out.println("Amount due :" +baseC);

switch (hours)
{

case (1):
System.out.println("You would not save any money by switching to another plan.");
break;

case (2):
System.out.println("You would not save any money by switching to another plan.");
break;

case (3):
System.out.println("You would not save any money by switching to another plan.");
break;

case (4):
System.out.println("You would not save any money by switching to another plan.");
break;

case (5):
System.out.println("You would not save any money by switching to another plan.");
break;

case (6):
System.out.println("You would not save any money by switching to another plan.");
break;

case (7):
System.out.println("You would not save any money by switching to another plan.");
break;

case (8):
System.out.println("You would not save any money by switching to another plan.");
break;

case (9):
System.out.println("You would not save any money by switching to another plan.");
break;

case (10):
System.out.println("You would not save any money by switching to another plan.");
break;

case (11):
System.out.println("You would not save any money by switching to another plan.");
break;

case (12):
System.out.println("You would not save any money by switching to another plan.");
break;

case (13):
System.out.println("The package that would save you the most money is B");
break;

case (14):
System.out.println("The package that would save you the most money is B");
break;

case (15):
System.out.println("The package that would save you the most money is B");
break;

case (16):
System.out.println("The package that would save you the most money is B");
break;

case (17):
System.out.println("The package that would save you the most money is B");
break;

case (18):
System.out.println("The package that would save you the most money is B");
break;

case (19):
System.out.println("The package that would save you the most money is B");
break;

case (20):
System.out.println("The package that would save you the most money is B");
break;

case (21):
System.out.println("The package that would save you the most money is B");
break;

case (22):
System.out.println("The package that would save you the most money is B");
break;

case (23):
System.out.println("The package that would save you the most money is B");
break;

case (24):
System.out.println("The package that would save you the most money is B");
break;

case (25):
System.out.println("The package that would save you the most money is B");
break;

case (26):
System.out.println("The package that would save you the most money is B");
break;

case (27):
System.out.println("The package that would save you the most money is C");
break;

case (28):
System.out.println("The package that would save you the most money is C");
break;

case (29):
System.out.println("The package that would save you the most money is C");
break;

case (30):
System.out.println("The package that would save you the most money is C");
break;

default:
System.out.println("Please enter hours in whole values.");

}
}
}
}```

2. ## Re: Help with switch statements

Aw snap.
```if(hours => 1 && hours < 13) print no better plan
else if(hours => 13 && hours < 27) print B
etc```
Switch doesn't make any sense here.

3. ## Re: Help with switch statements

Originally Posted by codesmuggler
Aw snap.
```if(hours => 1 && hours < 13) print no better plan
else if(hours => 13 && hours < 27) print B
etc```
Switch doesn't make any sense here.
Thanks for the help. That's exactly what I was thinking. However, our instructor told us to modify the statements to use switch statements.

Here is the directions:

```Step 1: Write a program that calculates a customer’s monthly bill. It should ask the user to enter the letter
of the package the customer has purchased (A, B, C) and the number of hours that were used. It should then
display the total charges.
Step 2: modify the program to use switch statement
Step 3: modify the program such that for package A/B customers, the money that they could save if they
switch to B or C plans. If no money will be saved, display no message.```

4. ## Re: Help with switch statements

So what's the problem, if you have already written it?

5. ## Re: Help with switch statements

I already submitted the assignment. Thanks