File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Orphaned case

 
Chris Buskulic
Greenhorn
Posts: 5
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am having trouble with a case in a switch. an error that says the case is orphaned keeps on ocurring. the code is:
// Chris Buskulic
// This is a program that will be used to calculate an employee's
// pay for a week based on the amount
// of hours worked provided they are greater than 0.
// The application also calculates overtime pay which is
// based on the time and a half pay scale.
// The application also provides information on the author of the program.
public class App {
public static void main(String[] args) {

//
byte option = 0;
final byte CALCULATE_PAY = 1;
final byte AUTHOR = 2;
final byte EXIT = 3;
//

while (option != EXIT) {

//

System.out.println("\t" + "Payroll Calculator");
Utility.skip();
System.out.println("1 - Calculate Pay");
System.out.println("2 - Author Information");
System.out.println("3 - Exit");
Utility.skip();
System.out.print("Enter your option: ");

//

option = Keyboard.readByte();

switch (option) {

//

case CALCULATE_PAY:{
double payRate;
double amtHours;
double over_time;
double amtGross;
double result;
double rate;

//

System.out.print("Hours worked: ");
result = payRate = Keyboard.readDouble();
//

System.out.print("Hourly wage ($.$$): ");
rate = Keyboard.readDouble();

// Start if statement
if (amtHours > 0 && payRate >= 5.15) {
if ( amtHours > 40) {
over_time = amtHours - 40;
payRate = (over_time * (1.5 * payRate)) + (payRate * amtHours);
}
else {
amtGross = amtHours * payRate;
}

// Display the final payrate
System.out.println("Gross Pay equals: "+(amtGross));
}
// Start second case for author information.
case AUTHOR: {

// display author information
System.out.println("Chris Buskulic");
break;
}

// Code the case exit option
case EXIT: {

// display an exit statement
System.out.println("Have a nice day");
break;

}

}
}
}
}
}


the AUTHOR case is the orphaned one
 
Ernest Friedman-Hill
author and iconoclast
Marshal
Pie
Posts: 24204
34
Chrome Eclipse IDE Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I don't know about "orphaned" but there's definitely a missing "}" character right before the AUTHOR case; the open one is right at the beginning of the previous case.
Note also that there's no "break" statement at the end of the first case; without it, execution will continue through onto the next ones. You have to use "break" to mark the end of every case, unless you specifically intend for then to flow together.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic