【发布时间】:2018-11-21 17:17:28
【问题描述】:
下面代码的最后一行给出了以下错误:“预期
类型的非法开始
包 arrEmpleados 不存在”
package javaPrueba2;
import java.util.ArrayList;
class Principal {
ArrayList<Empleado> arrEmpleados = new ArrayList<Empleado>();
arrEmpleados.add(new Empleado(541000, 2400.0, 40.0, 16, 20.0, 2));
Empleado 是另一个文件中的一个类。那一个,这个和main都在第一行显示的包javaPrueba2中...
如果我只是创建一个简单的字符串 ArrayList,也会返回同样的错误
ArrayList<String> arrEmpleados = new ArrayList();
arrEmpleados.add("ana"));
发生了什么事?我几乎从这里复制了 ArrayList 的方法: StackOverflow: Creating an Arraylist of Objects
所以如果这是错误的,我应该怎么做呢?
编辑: 根据请求,这是 Empleado 类:
package javaPrueba2;
public class Empleado{
int nif, horasExtra, numHijos; // horasExtra son mensuales
double sueldoBase, pagoHora, porcIRPF;
Empleado(int nif, double sueldoBase, double pagoHora, int horasExtra, double porcIRPF, int numHijos){
this.nif = nif;
this.sueldoBase = sueldoBase;
this.pagoHora = pagoHora;
this.horasExtra = horasExtra;
this.porcIRPF = porcIRPF;
this.numHijos = numHijos;
}
//Calcula el complemento por horas extras realizadas
double complemento(){
return pagoHora * horasExtra;
}
//Calcula el sueldo bruto
double bruto(){
return sueldoBase + this.complemento();
}
//Calcula las retenciones
double retenciones(){
int puntosDescuento;
double porcentajeFinal;
if (numHijos > 2){
puntosDescuento = 2;
} else puntosDescuento = 1;
porcentajeFinal = porcIRPF - puntosDescuento;
return porcentajeFinal * this.bruto() / 100;
}
}
【问题讨论】:
-
您应该将命令添加到方法而不是类声明中。
-
您的 Empleado 课程在哪里?也发布。
-
顺便说一句。这不是 Stack Exchange 的问题类型吗?该问题是否应该针对具有问题语言经验的程序员?我应该换一种说法吗?
-
哦,现在读到这篇文章已经几乎正常睡觉了,我发现我完全失明了。我要删除这个问题吗?我认为它不会帮助任何人......
标签: java class object arraylist