Похоже, что строковое значение появляется, но я не могу добавить значение в свои расчеты как при полной, так и при частичной занятости.
Это основной класс для моего наследования
< бр />
Код: Выделить всё
import java.util.Scanner;
public class RunEmployee1 {
private static String name;
private static double rate;
private static int hour;
private static double wage1;
private static double salary;
public String getName(){
return name;
}
public double getMonthlySalary(){
return salary;
}
public double getWage1(){
return wage1;
}
public static void main(String[]args){
char position;
Scanner sc = new Scanner(System.in);
System.out.println("Enter Employee name: ");
name = sc.nextLine();
System.out.println("Type F for Full time or P for Part time: ");
System.out.println("Use Capital Letter only!");
position = sc.next().charAt(0);
switch(position){
case 'F':
System.out.println("You are a Full time Employee!");
System.out.println("Enter your Monthly Wage: ");
salary = sc.nextDouble();
break;
case 'P':
System.out.println("You are a Part time Employee!");
System.out.println("Enter the number of hours you worked in: ");
hour = sc.nextInt();
System.out.println("Enter the hourly rate you are working in: ");
rate = sc.nextDouble();
break;
default :
System.out.println("You are not an Employee!");
}
Employee1 em1 = new Employee1();
FullTimeEmployee1 em2 = new FullTimeEmployee1();
PartTimeEmployee1 em3 = new PartTimeEmployee1();
em1.getName();
em1.writeOutput1();
em2.getMonthlySalary();
em2.writeOutput2(salary);
em3.getWage1();
em3.writeOutput3(wage1);
}
}
Код: Выделить всё
import java.util.Scanner;
public class FullTimeEmployee1 extends RunEmployee1{
private static double salary;
private static double newMonthlySalary;
Scanner sc = new Scanner(System.in);
public void setMonthlySalary(double newMonthlySalary){
this.salary = newMonthlySalary;
newMonthlySalary = sc.nextDouble();
}
public double getMonthlySalary(double newMonthlySalary){
salary = newMonthlySalary;
return salary = newMonthlySalary;
}
public void writeOutput2(double getMonthlySalary){
System.out.println("Employee's Full time Monthly Salary is: " +getMonthlySalary());
}
public static void main(String[]args){
Scanner sc = new Scanner(System.in);
FullTimeEmployee1 em2 = new FullTimeEmployee1();
System.out.println("You are a Full time Employee!");
System.out.println("Enter your Monthly Wage: ");
salary = sc.nextDouble();
em2.getMonthlySalary();
em2.writeOutput2(salary);
}
}
and
import java.util.Scanner;
public class PartTimeEmployee1 extends RunEmployee1 {
private static double rate;
private static int hour;
private static double wage1;
private static double newMonthlyWage1;
Scanner sc = new Scanner(System.in);
public void setWage1(int hourWorked, double RatePerHour, double newMonthlyWage) {
RatePerHour = rate;
hourWorked = hour;
double wage1 = RatePerHour * hourWorked;
this.wage1 = newMonthlyWage;
newMonthlyWage = sc.nextDouble();
}
public double getWage1(double newMonthlyWage) {
wage1 = newMonthlyWage;
return wage1 = newMonthlyWage;
}
public void writeOutput3(double getWage1) {
System.out.println("Employee's Part time Monthly Wage is: " + +getWage1());
public static void main(String[]args){
Scanner sc = new Scanner(System.in);
PartTimeEmployee1 em3 = new PartTimeEmployee1();
System.out.println("Вы являетесь сотрудником, занятым неполный рабочий день!");
System.out.println("Введите количество часов, которые вы отработали: ");
час = sc.nextInt();
System.out.println("Введите почасовую ставку, в которой вы работаете: ");
тариф = sc.nextDouble();
заработная плата1 = ставка * час;
em3.getWage1();
em3.writeOutput3(wage1);
}
Введите имя сотрудника: Тип имени F для полной занятости или P для неполной занятости:
Используйте только заглавную букву! P Вы являетесь сотрудником, работающим неполный рабочий день! Введите
количество часов, в которых вы отработали: 5 Введите почасовую ставку, в которой вы
работаете: 100 Имя сотрудника: Имя Полная занятость сотрудника Ежемесячно
Заработная плата: 0,0 Ежемесячная заработная плата сотрудника неполный рабочий день составляет: 0,0
ожидаемый результат со значением как для зарплаты, так и для зарплаты
Источник: https://stackoverflow.com/questions/781 ... ss-to-main