Uso del paquete JAMA en Java

ischnei
09 de Noviembre del 2005
Hola, qué tal! Quisiera ver si pudieran ayudarme con un problema que tengo con el paquete JAMA. Es un paquete que maneja matrices en Java. Al principio tuve problema por la versión del java que tenía (j2sdk1.4.2_04) pero la cambién por la jdk1.5.0_05 y me quitó el problema de compatibilidad, ya que compila perfectamente usando objetos de ese paquete. El problema surge al quererlos correr, ya que me aparecen errores tales como:

Exception in thread "main" java.lang.NoClassDefFoundError : MagicSquareExample (wrong name : Jama/examples/MagicSquareExample)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown source)
etc... (10 lineas más)

me metí a los API\'s de Java y vi que el método defineClass está ya deprecado... tendría que bajar una versión anterior?

o será más bien que no instalé bien el paquete? (guardé el archivo JAR del paquete en \jre\lib\ext\ )

Es muy importante ya que necesito hacer un proyecto universitario utilizando "eigenvalues" y sólo los he encontrado en este paquete.

Muchas gracias!

chuidiang
09 de Noviembre del 2005
Hola:

Tiene pinta de que no estás llamando bien al programa. Prueba a llamarlo así

java Jama.examples.MagicSquareExample

Se bueno.

ischnei
09 de Noviembre del 2005
Funcionó perfectamente! Muchas gracias!...

Pero ahora las cosas las veo más complicadas, porque el programa que corrí (MagicSquareExample) es un programa ejemplo que viene dentro del paquete.

¿Cómo voy a poder escibir un programa usando objetos de la clase Matrix o EigenValues? (Todas estas clases vienen dentro del paquete Jama.

Este es un pequeño ejemplo de lo que hice:

package Jama;
import Jama.*;

public class EjemploMatrix
{
public double nums[][] = new double[10][10];
public Matrix mat;


public void main(String[] args)
{
int i,j;

for(i=0;i<10;i++) //ciclo que llena el arreglo con unos
{
for(j=0;j<10;j++)
{
nums[i][j]=1;

}

}

mat = new Matrix(nums);
mat.print(5,5);


}


}

así me compila perfectamente... pero cuando trato de correrlo, me sale error idéntico al que me salía antes..

¿Qué debo hacer? Ayuda, por favor.

chuidiang
09 de Noviembre del 2005
Hola de nuevo:

Has puesto package Jama. Debes crear un directorio Jama y meter dentro de él el fichero EjemploMatrix.class. Luego debes ejecutar desde el directorio padre del sudirectorio Jama con java Jama.EjemploMatrix

Por ejemplo, si tienes

c:mi_proyectoJamaEjemploMatrix.class

haces

cd c:mi_proyecto
java Jama.EjemploMatrix

Si no te funciona todavía, prueba a definir la variable de entorno CLASSPATH

set CLASSPATH=c:mi_proyecto
java Jama.EjemploMatrix

Echa un ojo a http://www.geocities.com/chuidiang/java/classpath/classpath.html que te puede servir de ayuda.

Se bueno

ischnei
09 de Noviembre del 2005
Muchas gracias! Me has salvado la vida