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");
        }
    }
}