Hola, estaba haciendo un ejercicio en java y me da un error idiota, ya que me dice que tengo que inicializar una cosa que no se tendria que inicializar, bueno os pongo el cacho donde esta el problema y lo que me dice el compilador que esta mal.
public class examen { private static inout io=new inout(); static class Resultat{ boolean trobat; int pos; } public static void main(String args[])throws Exception{
int V[]= new int[10]; int W[]= new int[10]; Resultat sol;
io.writeln("introduce los valores para V y W:"); V = io.read_int_array(); W = io.read_int_array();
hihes(V, W,sol); io.writeln( sol.trobat);
}
public static void hihes(int V[], int W[],Resultat sol){ int i, max,N,M;
Hace mucho tiempo que no programo y no lo he podido probar porque me falta la clase inout e imagino que la sol tambien, pero creo que simplemente te has dejado el new, es decir donode pone:
me parece que estas usando sol como un objeto de otra clase, en java tienes que crear un objeto, o si no quieres crearlo, puedes llamar a los metodos de una clase por su nombre tal cual siempre que esten declarados como estaticos
demnim escribió:me parece que estas usando sol como un objeto de otra clase, en java tienes que crear un objeto, o si no quieres crearlo, puedes llamar a los metodos de una clase por su nombre tal cual siempre que esten declarados como estaticos
espero no estar liandome
Te estas liando, sol no es mas que una tupla con un booleano y un entero que indica la posicion donde ha finalizado la busqueda, de hecho no hace ni una llamada a metodos de clase, sino que accede a los elementos de la tupla. Si te fijas la definicion tambien la ha puesto y no tiene metodos de clase (mas que los implicitos).