In: Computer Science
I am getting the following error: SalaryCalc.java:41: error: variable shift might not have been initialized if(shift==0) ^ 1 error
Please FIX
This is my Java code:
import java.util.Scanner;
public class SalaryCalc
{
double Rpay=0, Opay=0;
void calPay(double hours, double rate){
if(hours<=40){
Rpay = hours * rate;
Opay = 0;
}
else {
double Rhr,Ohr;
Rhr = 40;
Ohr = hours-Rhr;
Rpay = Rhr * rate;
Opay = Ohr * (1.5*rate);
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String name;
int shift;
Double rate, hours;
System.out.println("Pay Calculator");
System.out.println("Enter Your Name");
name=sc.next();
System.out.println("Enter Your Shift, Enter 0 for Day, Enter1 for
Night");
System.out.println("0=Day, 1= Night");
System.out.println("Enter Number of Hours Worked");
hours=sc.nextDouble();
System.out.println("Enter Hourly Pay");
rate=sc.nextDouble();
SalaryCalc c= new SalaryCalc();
c.calPay(hours,rate);
Double Tpay= c.Rpay+ c.Opay;
System.out.println();
System.out.println("Calculate Pay");
System.out.println("Employee Name: "+name);
System.out.println("Employee Regular Pay: "+c.Rpay);
System.out.println("Employee Overtime Pay: "+c.Opay);
System.out.println("Employee Total Pay: "+Tpay);
if(shift==0)
{
System.out.println("Employee PayPeriod is Friday");
}
else{
System.out.println("Employee PayPeriod is Saturday");
}
}
}
Just initialize the variable shift with some value to get rid of that error.
import java.util.Scanner; public class SalaryCalc { double Rpay=0, Opay=0; void calPay(double hours, double rate){ if(hours<=40){ Rpay = hours * rate; Opay = 0; } else { double Rhr,Ohr; Rhr = 40; Ohr = hours-Rhr; Rpay = Rhr * rate; Opay = Ohr * (1.5*rate); } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String name; int shift = 0; Double rate, hours; System.out.println("Pay Calculator"); System.out.println("Enter Your Name"); name=sc.next(); System.out.println("Enter Your Shift, Enter 0 for Day, Enter1 for Night"); System.out.println("0=Day, 1= Night"); System.out.println("Enter Number of Hours Worked"); hours=sc.nextDouble(); System.out.println("Enter Hourly Pay"); rate=sc.nextDouble(); SalaryCalc c= new SalaryCalc(); c.calPay(hours,rate); Double Tpay= c.Rpay+ c.Opay; System.out.println(); System.out.println("Calculate Pay"); System.out.println("Employee Name: "+name); System.out.println("Employee Regular Pay: "+c.Rpay); System.out.println("Employee Overtime Pay: "+c.Opay); System.out.println("Employee Total Pay: "+Tpay); if(shift==0) { System.out.println("Employee PayPeriod is Friday"); } else{ System.out.println("Employee PayPeriod is Saturday"); } } }