gpt4 book ai didi

java - 创建对象数组时未找到类异常

转载 作者:行者123 更新时间:2023-12-02 06:23:27 25 4
gpt4 key购买 nike

所以,我写了这些类:

public class FicherosDeCiudadanos {

public static int numCiudadanos (File f) {
try{

Scanner texto=new Scanner(f);
int contador=0;
while(texto.hasNextLine()){
contador++;
texto.nextLine();
}
texto.close();
return contador;
}
}

public static Ciudadano[] leerFichero (File f) {
try{
Scanner texto=new Scanner(f);
//This next line throws classNotFound when debbugging but only
//when evaluating Ciudadano[]
Ciudadano[] tablaCiudadano = new Ciudadano[numCiudadanos(f)];
....
//TO-DO
}
}

我验证了它的工作原理,而且确实如此,方法leerFichero()完美地完成了工作。它使用 TO-DO 中的代码创建了一个 Ciudadano 对象数组。但是,在另一个包中,我调用方法 leerFichero() ,它到达那里,计算出 numCiudadanos() 来设置数组的长度,但是当它到达 Ciudadano[] 它抛出 ClassNotFoundException,然后程序停止。当我从它自己的包中使用它时它仍然有效。

我猜这是堆栈

Thread [main] (Suspended)   
owns: Object (id=36)
owns: Object (id=37)
ClassNotFoundException(Throwable).<init>(String, Throwable) line: 286
ClassNotFoundException(Exception).<init>(String, Throwable) line: not available
ClassNotFoundException(ReflectiveOperationException).<init>(String, Throwable) line: not available
ClassNotFoundException.<init>(String) line: not available
URLClassLoader$1.run() line: not available
URLClassLoader$1.run() line: not available
AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
Launcher$ExtClassLoader(URLClassLoader).findClass(String) line: not available
Launcher$ExtClassLoader(ClassLoader).loadClass(String, boolean) line: not available
Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: not available
Launcher$AppClassLoader.loadClass(String, boolean) line: not available
Launcher$AppClassLoader(ClassLoader).loadClass(String) line: not available
FicherosDeCiudadanos.leerFichero(File) line: 54
Operaciones.nombreCliente(int) line: 80
Operaciones.listadoCompras() line: 37
TrabajoProg1.ejecutarOperacion(int) line: 40
TrabajoProg1.main(String[]) line: 22

最佳答案

这可能是构建路径问题。您需要右键单击外部包并转到

Build Path > Configure Build Path

并导航至

Projects

然后,单击添加... 并添加包含 FicherosDeCiudadanos 的项目。

确保在调用类的顶部有一行:

import package1.FicherosDeCiudadanos

其中 package1 是包含 FicherosDeCiudadanos 的包

关于java - 创建对象数组时未找到类异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20797201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com