Мой код не печатается

Я новичок в программировании, и проект, который мне поручили, меня очень смущает. Код, который я написал до сих пор, не содержит ошибок, но не печатается.

Это проект:

Программа классов и объектов

  1. Создайте объект Employee с методами и полями экземпляра (переменные состояния)

  2. Конструктор принимает Strings, int и double (имя, номер социального страхования и почасовую оплату).

  3. Преобразуйте int в строку в формате 123-45-6789.

  4. Нанять пять новых сотрудников (5 объектов)

  5. Создать сканер

  6. Создайте цикл, введите следующие данные для каждого объекта

    а. СС № или имя

    б. отработанный час

    в. хотя бы один сотрудник отработал более 40 часов

  7. Распечатать отчет о заработной плате сотрудников

ЭТО МОЙ КОД:

package Employee;
import java.io.*;
import java.util.Scanner;
import java.util.Random;


/**
  * Write a description of class Employee here.*
  *  @author (your name)
  *  @version (a version number or a date)
  */

public class Employee{
    public static void main (String[] args)
    {
        Scanner scanner = new Scanner(System.in);
        String NAME = scanner.nextLine();
        int hrs = scanner.nextInt();
    }

    /**
      *  Constructor for objects of class Employee
      */
    public Employee(String name, int employeenumber, double hourlypay)
    {
        socialsecurity = employeenumber;
        employeename= name;
        rate= hourlypay;
        TaxRate =.2;
    }

    public String SSN() {
        return  String.format("Social Security Number: ",
            (int) socialsecurity / 1000000,
            (int)(socialsecurity % 1000000) / 10000, 
            socialsecurity % 10000);

            //return " ";
    }

    public double paycheck(double h)//pay
    {
        return paycheck;
    }

    private int socialsecurity;
    public String employeename;
    private double rate;
    public double paycheck;
    public double TaxRate;

}

/**
  *  Company X payroll program**  Vincent Wrencher
  *  the Dark Side provided assistance**  1/24/2018
  */
class Tester
{
    public static void main (String arg[])
    {
        double hours;
        int hoursworked = 1;
        String printout = " Name /t /t /t/t SS# /t /t Pay /n -----------------------------/n";

        Employee e1 = new Employee(" Kat",100805600, 10.50);
        System.out.println("Number Of Hours Worked: " +  e1.employeename);

        Employee e2 = new Employee("Genesis", 123-456789, 11);
        System.out.println("Number Of Hours Worked: " +  e2.employeename);

        Employee e3 = new Employee("Falcore", 987654321, 11);
        System.out.println("Number Of Hours Worked: " +  e3.employeename);

        Employee e4 = new Employee("Alexandria", 132435465, 11);
        System.out.println("Number Of Hours Worked: " +  e4.employeename);

        Employee e5 = new Employee("Evangeline", 543264397, 11);
        System.out.println("Number Of Hours Worked: " +  e5.employeename);
    }
}

person Kat Noël    schedule 24.01.2018    source источник
comment
Вы уверены, что используете Tester.main(), а не Employee.main()?   -  person azurefrog    schedule 24.01.2018
comment
Когда вы начинаете свое путешествие в удивительный мир программирования, вам нужно научиться отлаживать код. Вы потратите столько же времени на отладку, сколько и на написание кода. Я предлагаю вам прочитать stackoverflow.com/questions/48410264/ и ericlippert.com/2014/03/05/how-to-debug-small-programs для получения советов по отладке кода.   -  person Code-Apprentice    schedule 24.01.2018
comment
Не все ошибки перехватываются компилятором. На самом деле только самые простые.   -  person Kayaman    schedule 24.01.2018
comment
Основной тестер отлично работает в моем локальном.   -  person Compass    schedule 24.01.2018


Ответы (1)


У вас есть общедоступный метод main() в классе Employee (который является общедоступным классом). Этот метод выполняется, а не метод в вашем классе Tester. Вы можете удалить main() из класса Employee, и он будет работать. И как видно, функция main() в классе Employee ничего не печатает.

person Santosh Bobade    schedule 24.01.2018
comment
Я попытался удалить метод public main() из класса Employee, но теперь он говорит об ошибке: основной метод не найден в классе Employee.Employee, определите основной метод как: public static void main(String[] args) или JavaFX класс приложения должен расширять javafx.application.Application - person Kat Noël; 25.01.2018
comment
Удалить main из Employee. Вы не должны иметь класс Employee как общедоступный. Сделать класс Tester общедоступным и иметь main() в public class Tester - person Santosh Bobade; 25.01.2018