public class company {
static employee intArray[] = null;
static int i = 0;
static void insertAemployee(employee A){
intArray[i] = A;
i ++;
}
void deleteAemployee(String name){
for(int m = 0;m < i; m ++){
while(intArray[m].name == name){
intArray[m] = null;
}
}
}
void showPay(String name){
double salary = 0;
for(int m = 0;m < i; m ++){
while(intArray[m].name == name){
salary = intArray[m].countPay(intArray[m]);
}
}
System.out.println("员工" + name + "的工资为:" + salary);
}
static void showAllpay(company A){
double allSalary = 0;
for(int m = 0;m < i; m ++){
allSalary = allSalary + intArray[m].countPay(intArray[m]);
}
System.out.println("所有员工的工资和为:" + allSalary);
}
public static void main(String[] args) {
company company1 = new company();
employee hourEmployee1 = new hourEmployee(200,10);
employee hourEmployee2 = new hourEmployee(230,10);
employee sellEmployee1 = new sellEmployee(5000);
employee sellEmployee2 = new sellEmployee(200000);
employee commonEmployee1 = new commonEmployee(205);
insertAemployee(hourEmployee1);
insertAemployee(hourEmployee2);
insertAemployee(sellEmployee1);
insertAemployee(sellEmployee2);
insertAemployee(commonEmployee1);
showAllpay(company1);
employee headgearEmployee1 = new headgearEmployee(30);
insertAemployee(headgearEmployee1);
showAllpay(company1);
}
}
static employee intArray[] = null;
static int i = 0;
static void insertAemployee(employee A){
intArray[i] = A;
i ++;
}
void deleteAemployee(String name){
for(int m = 0;m < i; m ++){
while(intArray[m].name == name){
intArray[m] = null;
}
}
}
void showPay(String name){
double salary = 0;
for(int m = 0;m < i; m ++){
while(intArray[m].name == name){
salary = intArray[m].countPay(intArray[m]);
}
}
System.out.println("员工" + name + "的工资为:" + salary);
}
static void showAllpay(company A){
double allSalary = 0;
for(int m = 0;m < i; m ++){
allSalary = allSalary + intArray[m].countPay(intArray[m]);
}
System.out.println("所有员工的工资和为:" + allSalary);
}
public static void main(String[] args) {
company company1 = new company();
employee hourEmployee1 = new hourEmployee(200,10);
employee hourEmployee2 = new hourEmployee(230,10);
employee sellEmployee1 = new sellEmployee(5000);
employee sellEmployee2 = new sellEmployee(200000);
employee commonEmployee1 = new commonEmployee(205);
insertAemployee(hourEmployee1);
insertAemployee(hourEmployee2);
insertAemployee(sellEmployee1);
insertAemployee(sellEmployee2);
insertAemployee(commonEmployee1);
showAllpay(company1);
employee headgearEmployee1 = new headgearEmployee(30);
insertAemployee(headgearEmployee1);
showAllpay(company1);
}
}
Exception in thread "main" java.lang.NullPointerException
at company.insertAemployee(company.java:8)
at company.main(company.java:51)怎么解决。
allSalary = allSalary + intArray[m].countPay(intArray[m]);
static employee intArray[] = null;
static int i = 0;
static void insertAemployee(employee A){
intArray[i] = A;
i ++;
}
void deleteAemployee(String name){
for(int m = 0;m < i; m ++){
while(intArray[m].name == name){
intArray[m] = null;
}
}
}
void showPay(String name){
double salary = 0;
for(int m = 0;m < i; m ++){
while(intArray[m].name == name){
salary = intArray[m].countPay(intArray[m]);
}
}
System.out.println("员工" + name + "的工资为:" + salary);
}
static void showAllpay(company A){
double allSalary = 0;
for(int m = 0;m < i+1; m ++){
if(intArray[m] != null)
allSalary = allSalary + intArray[m].countPay(intArray[m]);
}
System.out.println("所有员工的工资和为:" + allSalary);
}
public static void main(String[] args) {
company company1 = new company();
employee intArray[] = new employee[1000];
employee hourEmployee1 = new hourEmployee(200,10);
employee hourEmployee2 = new hourEmployee(230,10);
employee sellEmployee1 = new sellEmployee(5000);
employee sellEmployee2 = new sellEmployee(200000);
employee commonEmployee1 = new commonEmployee(205);
insertAemployee(hourEmployee1);
insertAemployee(hourEmployee2);
insertAemployee(sellEmployee1);
insertAemployee(sellEmployee2);
insertAemployee(commonEmployee1);
showAllpay(company1);
employee headgearEmployee1 = new headgearEmployee(30);
insertAemployee(headgearEmployee1);
showAllpay(company1);
}
}
你的 employee intArray[] = null;
都没有在任何地方初始化。
还有 employee hourEmployee1 = new hourEmployee(200,10);
employee hourEmployee2 = new hourEmployee(230,10);
employee sellEmployee1 = new sellEmployee(5000);
employee sellEmployee2 = new sellEmployee(200000);
employee commonEmployee1 = new commonEmployee(205);这里的这些类型是什么?自定义的 employee父类 hourEmployee等子类的类型说明文件了,没有这些文件没有办法编译的,无法解析类型,当然我们这些人也就有心无力了