Desespero.... ERRO na compilacao

1 resposta
J
Galera, to compilando um programa q usa o java.io.file, porem, ele da erro na hra da compilacao.. o código é esse:
import java.io.File;

public class Finder
{
	private File dir;
	private String[] names;
	
	//Funcao FINDER --> 1a passa o parametro de localizacao; 2a passa apenas o parametro do arquivo procurado
	public Finder(String d, String[] arqs)
	{
		names = arqs;
		dir = new File(d);
	}
	
	public Finder(String[] arqs)
	{
		names = arqs;
		dir = new File(".");
	}
	
	public void find()
	{
		if ( dir.isDirectory())
		{
			System.out.println("Procurando em: " + dir);
			String[] list = dir.list();
			// busca na lista de arquivos, os arquivos pedidos(passados) como parametro
			for (int i = 0; i < list.length; i++)
			{
				for (int j = 0; j < names.length; j++)
				{
				// equals => utilizado p/ comparar strings
					if ( names[j].equals(list[i]) )
						System.out.println("Achou arquivo: " + list[i]);
				}
			}
		}
		else
		{
			System.out.println(dir + " não é um diretório");
		}
	}

	static public void main(String[] args)
	{
		String[] names = new String[args.length-1];
		for (int i = 0; i < names.length; i++)
		{
			names[i] = args[i+1];
		}
		Finder f = new Finder(args[], names);
		f.find();
	// procura no dir corrente, não passando o argumento de procura args[0]
		f = new Finder(names);
		f.find();
	}
	
}

SÓ QUEM NÃO RODA AQUI NO MEU WINXP... Será q instalei tdo certo, o JDK, qdo tento executar o javac em modo prompt, ele diz q nao é um comando valido... como faço p/ saber se coloquei os path certo.. ah, o erro é esse:

-Called Compiler C:\J2SDK1~1.1_0\bin\javac.exe-
-Target File: C:\ProgJava\FACULD~1\Finder.java-
C:\ProgJava\FACULD~1\Finder.java:52: '.class' expected
Finder f = new Finder(args[], names);
^
C:\ProgJava\FACULD~1\Finder.java:52: ')' expected
Finder f = new Finder(args[], names);
^
C:\ProgJava\FACULD~1\Finder.java:52: cannot resolve symbol
symbol : class args
location: class Finder
Finder f = new Finder(args[], names);
^
C:\ProgJava\FACULD~1\Finder.java:52: unexpected type
required: value
found : class
Finder f = new Finder(args[], names);
^
4 errors

-Finished-

PESSOAL, me mandem a solução... to perdidao aqui... valew msmo

[/code]

[color="darkblue"]Não esqueça do BBCode (Editado por AnotherX)[/color]

1 Resposta

T

Troque esta a linha com erro… no caso a 52…

mude de:

Finder f = new Finder(args[], names);

para:

Finder f = new Finder(args, names);

Bom, o erro é q o [] é usado para construir arrays… e não na hora de referencia-lo

boa sorte

Criado 15 de março de 2004
Ultima resposta 15 de mar. de 2004
Respostas 1
Participantes 2