JAVA Error Could not find and load main class My code compil
JAVA: Error: Could not find and load main class. My code compiles but hits the aforementioned runtime error when trying to execute it in command line. Why does this error exist? Is the code syntactically sound, and thus runnable?
//Driver.java
package Project1;
 import java.io.File;
 import java.util.Scanner;
public class Driver {
   
    public static void main(String[] args) {
           Scanner scanner = null;
            try {
                Employee[] employees2014 = new Employee[10];
                Employee[] employees2015 = new Employee[10];
                int empCount14 = 0, empCount15 = 0;
               int year;
                scanner = new Scanner(new File(\"employee.txt\"));
                while (scanner.hasNext()) {
                    String line = scanner.nextLine();
                    String lineArr[] = line.split(\" \");
                    year = Integer.parseInt(lineArr[0]);
                    if (year == 2014) {
                        if (lineArr[1].equals(\"Employee\")) {
                            employees2014[empCount14++] = new Employee(lineArr[2],
                                    Double.parseDouble(lineArr[3]));
                        } else if (lineArr[1].equals(\"Salesman\")) {
                            employees2014[empCount14++] = new Salesman(
                                    Double.parseDouble(lineArr[3]),
                                    Double.parseDouble(lineArr[4]), lineArr[2],
                                    lineArr[2]);
                        } else {
                            employees2014[empCount14++] = new Executive(
                                    Double.parseDouble(lineArr[3]), lineArr[2],
                                    Double.parseDouble(lineArr[3]));
}
                   } else {
                        if (lineArr[1].equals(\"Employee\")) {
                            employees2015[empCount15++] = new Employee(lineArr[2],
                                    Double.parseDouble(lineArr[3]));
                        } else if (lineArr[1].equals(\"Salesman\")) {
                            employees2015[empCount15++] = new Salesman(
                                    Double.parseDouble(lineArr[3]),
                                    Double.parseDouble(lineArr[4]), lineArr[2],
                                    lineArr[2]);
                        } else {
                            employees2015[empCount15++] = new Executive(
                                    Double.parseDouble(lineArr[3]), lineArr[2],
                                    Double.parseDouble(lineArr[3]));
}
                   }
                    // System.out.println(line);
}
System.out.println(\"2014 Employee Report:\");
for (int i = 0; i < empCount14; i++) {
System.out.println(employees2014[i]);
}
System.out.println(\"2015 Employee Report:\");
               for (int i = 0; i < empCount15; i++) {
                    System.out.println(employees2015[i]);
                }
            } catch (Exception e) {
                // TODO: handle exception
            } finally {
            
            }
        }
   
}
//Employee.java
package Project1;
 public class Employee {
   
    protected double annualSalary = 0;
    private double monthlySalary = 0;
    private String nameEmp = null;
   
   
    Employee() {
       
    }
   
    public Employee(String nameEmp, double salary) {
        this.nameEmp = nameEmp;
        this.monthlySalary = salary;
    }
   
    public void setName(String nameEmp) {
        this.nameEmp = nameEmp;
    }
   
    public void setSalary(double salary) {
        this.monthlySalary = salary;
    }
   
    public void setAnnualSalary(double annualSalary) {
        this.annualSalary = annualSalary;
    }
   
    public String getName() {
        return this.nameEmp;
    }
   
    public double getSalary() {
        return this.monthlySalary;
    }
   
    public double getAnnualSalary() {
        return this.annualSalary;
    }
   
    public double getAnnualSalary(double salary) {
        this.annualSalary = monthlySalary * 12;
        return this.annualSalary;
    }
   
    public String toString() {
        String str = \"Name of Employee: \" + this.nameEmp +\" \ Monthly Salary of Employee: \"+ this.monthlySalary;
        return str;
    }
}
//Executive.java
package Project1;
public class Executive extends Employee{
   
    private double bonus = 0;
    private double monthlySalaryEx = 0;
    private double stockPrice = 0;
    private String nameExec = null;
   
   
   
    Executive() {
       
    }
   
    Executive(double annualSalary, String nameExec, double monthlySalaryEx) {
        super(nameExec, annualSalary);
        this.nameExec = nameExec;
        this.monthlySalaryEx = monthlySalaryEx;
        this.annualSalary = annualSalary;
    }
   
    public void setNameEx(String nameExec) {
        this.nameExec = nameExec;
    }
   
    public void setMonthSalaryEx(double monthlySalaryEx) {
        this.monthlySalaryEx = monthlySalaryEx;
    }
   
    public void setAnnualSalaryEx(double annualSalary) {
        this.annualSalary = annualSalary;
    }
   
    public void setStockPrice(double stockPrice) {
        this.stockPrice = stockPrice;
    }
   
    public String getNameSalesmanEx() {
        return this.nameExec;
    }
   
    public double getMonthSalaryEx() {
        return this.monthlySalaryEx;
    }
   
    public double getAnnualSalaryEx() {
        return this.annualSalary;
    }
   
    public double getStockPrice() {
        return stockPrice;
    }
   
    public double getAnnualSalaryEx(double monthlySalary) {
        if(stockPrice > 50) {
            bonus = 30000;
           }
        this.annualSalary = (monthlySalary * 12) + bonus ;
        return this.annualSalary;
    }
   
    public String toString(String nameEmp, double monthlySalary, double annualSalary) {
        String str = \"Name of Employee: \" + nameExec +\" \  Monthly Salary of Employee: \" + monthlySalaryEx +
                \"\  Company Stock Price: \" + stockPrice;
        return str;
        }
}
//Salesman.java
package Project1;
public class Salesman extends Employee{
   
    private double monthlySalary = 0;
    private double commission = 0;
    String nameSales = null;
   
    Salesman() {
       
    }
   
    Salesman(double monthSalary, double annualSalary, String nameEmp, String nameSales) {
        super(nameSales, annualSalary);
        this.nameSales = nameSales;
        this.monthlySalary = monthSalary;
        this.annualSalary = annualSalary;
    }
   
    public void setNameSa(String nameSales) {
        this.nameSales = nameSales;
    }
   
    public void setMonthSalarySa(double monthlySalary) {
        this.monthlySalary = monthlySalary;
    }
   
    public void setAnnualSalarySa(double annualSalary) {
        this.annualSalary = annualSalary;
    }
   
    public void setCommission(double commission) {
        this.commission = commission;
    }
   
    public String getNameSalesmanSa() {
        return this.nameSales;
    }
   
    public double getMonthSalarySa() {
        return this.monthlySalary;
    }
   
    public double getAnnualSalarySa() {
        return this.annualSalary;
    }
   
    public double getCommission() {
        return this.commission;
    }
   
    public double getAnnualSalarySa(double monthlySalary) {
        if(commission>=1000000) {
            commission = 1000000;
           }
        this.annualSalary = (monthlySalary * 12) + (commission * 0.02) ;
        return this.annualSalary;
    }
   
    public String toString(String nameEmp, double monthlySalary, double annualSalary) {
        String str = \"Name of Employee: \" + nameEmp +\" \  Monthly Salary of Employee: \" + monthlySalary +
                \"\  Annual Salary of Employee: \" + annualSalary;
        return str;
        }
}
Solution
Expalntion
Problem : Your Programme Succefully compiled .But getting run time error \"JAVA: Error: Could not find and load main class\" .
Solution : Check defined classes under spedified package path or not .i.e) package Project1.
1. if not then place classes in specified pacakge path .
2.Otherwise just remove this statement in each class \"package Project1. \"
Executable code :
In my machine i run successfully the given code .
 C:\\Users\\Ashok\\Desktop\\java>javac Driver.java
C:\\Users\\Ashok\\Desktop\\java>java Driver
/* Programme code begins */
//Driver.java
 //package Project1;
 import java.io.File;
 import java.util.Scanner;
 public class Driver {
   
 public static void main(String[] args) {
 Scanner scanner = null;
 try {
 Employee[] employees2014 = new Employee[10];
 Employee[] employees2015 = new Employee[10];
 int empCount14 = 0, empCount15 = 0;
 int year;
 scanner = new Scanner(new File(\"employee.txt\"));
 while (scanner.hasNext()) {
 String line = scanner.nextLine();
 String lineArr[] = line.split(\" \");
 year = Integer.parseInt(lineArr[0]);
 if (year == 2014) {
 if (lineArr[1].equals(\"Employee\")) {
 employees2014[empCount14++] = new Employee(lineArr[2],
 Double.parseDouble(lineArr[3]));
 } else if (lineArr[1].equals(\"Salesman\")) {
 employees2014[empCount14++] = new Salesman(
 Double.parseDouble(lineArr[3]),
 Double.parseDouble(lineArr[4]), lineArr[2],
 lineArr[2]);
 } else {
 employees2014[empCount14++] = new Executive(
 Double.parseDouble(lineArr[3]), lineArr[2],
 Double.parseDouble(lineArr[3]));
 }
 } else {
 if (lineArr[1].equals(\"Employee\")) {
 employees2015[empCount15++] = new Employee(lineArr[2],
 Double.parseDouble(lineArr[3]));
 } else if (lineArr[1].equals(\"Salesman\")) {
 employees2015[empCount15++] = new Salesman(
 Double.parseDouble(lineArr[3]),
 Double.parseDouble(lineArr[4]), lineArr[2],
 lineArr[2]);
 } else {
 employees2015[empCount15++] = new Executive(
 Double.parseDouble(lineArr[3]), lineArr[2],
 Double.parseDouble(lineArr[3]));
 }
 }
 // System.out.println(line);
 }
 System.out.println(\"2014 Employee Report:\");
 for (int i = 0; i < empCount14; i++) {
 System.out.println(employees2014[i]);
 }
 System.out.println(\"2015 Employee Report:\");
 for (int i = 0; i < empCount15; i++) {
 System.out.println(employees2015[i]);
 }
 } catch (Exception e) {
 // TODO: handle exception
 } finally {
   
 }
 }
   
 }
 //Employee.java
 //package Project1;
 class Employee {
   
 protected double annualSalary = 0;
 private double monthlySalary = 0;
 private String nameEmp = null;
   
   
 Employee() {
   
 }
   
 public Employee(String nameEmp, double salary) {
 this.nameEmp = nameEmp;
 this.monthlySalary = salary;
 }
   
 public void setName(String nameEmp) {
 this.nameEmp = nameEmp;
 }
   
 public void setSalary(double salary) {
 this.monthlySalary = salary;
 }
   
 public void setAnnualSalary(double annualSalary) {
 this.annualSalary = annualSalary;
 }
   
 public String getName() {
 return this.nameEmp;
 }
   
 public double getSalary() {
 return this.monthlySalary;
 }
   
 public double getAnnualSalary() {
 return this.annualSalary;
 }
   
 public double getAnnualSalary(double salary) {
 this.annualSalary = monthlySalary * 12;
 return this.annualSalary;
 }
   
 public String toString() {
 String str = \"Name of Employee: \" + this.nameEmp +\" \ Monthly Salary of Employee: \"+ this.monthlySalary;
 return str;
 }
 }
 //Executive.java
 //package Project1;
 class Executive extends Employee{
   
 private double bonus = 0;
 private double monthlySalaryEx = 0;
 private double stockPrice = 0;
 private String nameExec = null;
   
   
   
 Executive() {
   
 }
   
 Executive(double annualSalary, String nameExec, double monthlySalaryEx) {
 super(nameExec, annualSalary);
 this.nameExec = nameExec;
 this.monthlySalaryEx = monthlySalaryEx;
 this.annualSalary = annualSalary;
 }
   
 public void setNameEx(String nameExec) {
 this.nameExec = nameExec;
 }
   
 public void setMonthSalaryEx(double monthlySalaryEx) {
 this.monthlySalaryEx = monthlySalaryEx;
 }
   
 public void setAnnualSalaryEx(double annualSalary) {
 this.annualSalary = annualSalary;
 }
   
 public void setStockPrice(double stockPrice) {
 this.stockPrice = stockPrice;
 }
   
 public String getNameSalesmanEx() {
 return this.nameExec;
 }
   
 public double getMonthSalaryEx() {
 return this.monthlySalaryEx;
 }
   
 public double getAnnualSalaryEx() {
 return this.annualSalary;
 }
   
 public double getStockPrice() {
 return stockPrice;
 }
   
 public double getAnnualSalaryEx(double monthlySalary) {
 if(stockPrice > 50) {
 bonus = 30000;
 }
 this.annualSalary = (monthlySalary * 12) + bonus ;
 return this.annualSalary;
 }
   
 public String toString(String nameEmp, double monthlySalary, double annualSalary) {
 String str = \"Name of Employee: \" + nameExec +\" \  Monthly Salary of Employee: \" + monthlySalaryEx +
 \"\  Company Stock Price: \" + stockPrice;
 return str;
 }
   
 }
 //Salesman.java
 //package Project1;
 class Salesman extends Employee{
   
 private double monthlySalary = 0;
 private double commission = 0;
 String nameSales = null;
   
 Salesman() {
   
 }
   
 Salesman(double monthSalary, double annualSalary, String nameEmp, String nameSales) {
 super(nameSales, annualSalary);
 this.nameSales = nameSales;
 this.monthlySalary = monthSalary;
 this.annualSalary = annualSalary;
 }
   
 public void setNameSa(String nameSales) {
 this.nameSales = nameSales;
 }
   
 public void setMonthSalarySa(double monthlySalary) {
 this.monthlySalary = monthlySalary;
 }
   
 public void setAnnualSalarySa(double annualSalary) {
 this.annualSalary = annualSalary;
 }
   
 public void setCommission(double commission) {
 this.commission = commission;
 }
   
 public String getNameSalesmanSa() {
 return this.nameSales;
 }
   
 public double getMonthSalarySa() {
 return this.monthlySalary;
 }
   
 public double getAnnualSalarySa() {
 return this.annualSalary;
 }
   
 public double getCommission() {
 return this.commission;
 }
   
 public double getAnnualSalarySa(double monthlySalary) {
 if(commission>=1000000) {
 commission = 1000000;
 }
 this.annualSalary = (monthlySalary * 12) + (commission * 0.02) ;
 return this.annualSalary;
 }
   
 public String toString(String nameEmp, double monthlySalary, double annualSalary) {
 String str = \"Name of Employee: \" + nameEmp +\" \  Monthly Salary of Employee: \" + monthlySalary +
 \"\  Annual Salary of Employee: \" + annualSalary;
 return str;
 }
 }









