Boas minha gente, estou a ter um problema que nao tou a conseguir resolver sera que alguem me dá uma maozinha, no codigo da funçao para fazer o load do ficheiro :
// Load the addressbook from fileName.
public void load ()
{
BufferedReader in;
String nome, tipo;
int ano, duracao;
try
{
in = new BufferedReader (new FileReader (fileNome));
}
catch (FileNotFoundException e)
{
System.out.println (fileNome + " not found.");
return;
}
try
{
nome = in.readLine ();
while (nome != null)
{
tipo = in.readLine ();
if (!enter (nome, tipo)) // Linha com erro
{
System.out.println ("Sorry, DVD book file too large.");
break;
}
name = in.readLine ();
}
}
catch (IOException e)
{
System.out.println ("An I/O error occurred while reading " + fileNome);
}
try
{
in.close ();
}
catch (IOException e)
{
System.out.println ("An I/O error occurred while closing " + fileNome);
}
} // load method
Dá me o seguinte erro na linha que está com // Linha com erro
enter(java.lang.String,java.lang.String, java.lang.String, int, int) in Videoteca cannot be applied to (java.lang.String, java.lang.String)
Alguem consegue me ajudar a ultrapassar este erro? Beijos
Tipo eu percebi isso ou seja ao ler a mensagem dava pra se entender mas nao tou a ver que mudança tenho que fazer já andei a mudar algumas tipos de variaveis etc etc mas nada
Que linha tenho que mudar em concreto e pra qual de modo a prosseguir sem erros?
Boas, vou enviar aqui o codigo completo de forma a que alguem me possa ser mais claro na ajuda, o erro é o mesmo de cima:
import java.io.*;
public class Videoteca
{
protected VideotecaLinkEntry first;
protected String fileNome;
public Videoteca (String fileNome)
{
first = null;
this.fileNome = fileNome;
} // construtor do sistema da Videoteca
protected VideotecaLinkEntry find (String nome)
{
VideotecaLinkEntry where = first;
while ((where != null) && (!nome.equals (where.getNome ())))
{
where = where.getLink ();
}
return where;
} // procura do metodo
// Alterar dados de um DVD, o DVD ja deve estar inserido
public void change (String nome, String tipo, String realizador, int ano, int duracao)
{
VideotecaLinkEntry entry = find (nome);
if (entry == null)
{
System.out.println (nome + " nao esta inserido no sistema da Videoteca");
}
else
{
entry.setTipo (tipo);
entry.setRealizador (realizador);
entry.setAno (ano);
entry.setDuracao (duracao);
}
} // Mudar o metodo
// Apaga o DVD, o mesmo ja tem de estar inserido no sistema
public void delete (String nome)
{
if (nome.equals (first.getNome ()))
{
first = first.getLink ();
}
else
{
VideotecaLinkEntry where, prev;
prev = first;
where = first.getLink ();
while (where != null)
{
if (nome.equals (where.getNome ()))
{
prev.setLink (where.getLink ());
break;
}
else
{
prev = where;
where = where.getLink ();
}
}
}
} // apaga o metodo
// Criar uma nova entrada no sistema da Videoteca
public boolean enter (String nome, String tipo, String realizador, int ano, int duracao)
{
VideotecaLinkEntry entry;
entry = new VideotecaLinkEntry (nome, tipo, realizador, ano, duracao, first);
if (entry != null)
{
first = entry;
return true;
}
// Não existe espaço para inserir mais, retorna falso.
return false;
} // inserir metodo
// Pesquisar as caracteristicas de um dvd
public String lookUp (String nome)
{
VideotecaLinkEntry entry = find (nome);
if (entry == null)
{
return null;
}
else
{
return entry.getTipo ();
}
} // lookUp method
// Imprime todos os Dvd's inseridos no sistema da Videoteca
public void printOut ()
{
if (first != null)
{
VideotecaLinkEntry where = first;
while (where != null)
{
print (where.getNome (), 15);
System.out.println (" " + where.getTipo ());
System.out.println (" " + where.getRealizador ());
System.out.println (" " + where.getAno ());
System.out.println (" " + where.getDuracao ());
where = where.getLink ();
}
}
else
{
System.out.println ("Nao existem entradas no sistema da Videoteca.");
}
} // imprime o metodo
// Imprime uma string à esquerda justificada no campo com a dimensao dada.
protected void print (String s, int fieldSize)
{
if (s.length () >= fieldSize)
{
System.out.print (s);
}
else
{
StringBuffer padding = new StringBuffer ();
for (int count = 0 ; count < fieldSize - s.length () ; count++)
{
padding.append (' ');
}
System.out.print (s + padding);
}
} // imprimir o metodo
// Salvar a Videoteca no fileNome.
public void save ()
{
PrintWriter out;
try
{
out = new PrintWriter (new FileWriter (fileNome));
}
catch (IOException e)
{
System.out.println ("Impossivel abrir " + fileNome + " para escrita.");
System.out.println ("Ficheiro nao foi gravado");
return;
}
VideotecaLinkEntry where = first;
while (where != null)
{
out.println (where.getNome ());
out.println (where.getTipo ());
out.println (where.getRealizador ());
out.println (where.getAno ());
out.println (where.getDuracao ());
where = where.getLink ();
}
out.close ();
} // salvar o metodo
// Recarrega a Videoteca do fileNome.
public void load ()
{
BufferedReader in;
String nome, tipo, realizador;
int ano, duracao;
try
{
in = new BufferedReader (new FileReader (fileNome));
}
catch (FileNotFoundException e)
{
System.out.println (fileNome + " nao encontrado");
return;
}
try
{
nome = in.readLine ();
while (nome != null)
{
tipo = in.readLine ();
realizador = in.readLine ();
ano = in.readLine ();
duracao = in.readLine ();
if (!enter (nome, tipo, realizador, ano, duracao))
{
System.out.println ("Desculpe, o sistema da Videoteca tem muita memoria");
break;
}
nome = in.readLine ();
}
}
catch (IOException e)
{
System.out.println ("Um I/O erro ocorreu durante a leitura do " + fileNome);
}
try
{
in.close ();
}
catch (IOException e)
{
System.out.println ("Um I/O erro ocorreu durante o encerramento do " + fileNome);
}
} // Recarrega o metodo
} /* VideotecaBook class */
Por favor ajudem-me falta me resolver este erro pra que o programa funcione e tenho de mostra lo na sexta, beijinhos