Duvida com Array ..p1

4 respostas
P

Olá,

não entendi porque da a mensagem de erro abaixo …

public class TestArray {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		args = null;
		args[0]="paulo";
		args[1]="ribeiro";
		System.out.println("nome="+args[0]);
		System.out.println("sobrenome="+args[1]);
	}

}
Exception in thread "main" java.lang.NullPointerException
	at br.com.prova.TestArray.main(TestArray.java:12)

e mais uma duvida estou tentando executar a classe acima via dos
e está me dando esse erro :

D:\workspace_patt\cert\bin\br\com\prova>java TestArray x y
Exception in thread "main" java.lang.NoClassDefFoundError: TestArray

4 Respostas

peczenyj

Paribe, concentre as suas duvidas em um tópico, por favor.

Provavelmente vc tem problemas de classpath.

De uma lida nesses tutoriais:
http://www.guj.com.br/java.tutorial.artigo.108.1.guj
http://www.guj.com.br/java.tutorial.artigo.131.1.guj

ChronoTrigger

No caso do NullPointer, seu array está nulo.

Vc tem que instancia-lo primeiro.

args = new String[2];

Djonatah

Acredito que se resolvermos o primeiro problema, resolveremos o segundo, entao vamos la:

  1. args - voce declarou ele como parametro de entra do metodo main observe:

Entao quer dizer que voce vai receber valores pela linha de comando (ou seja, quando voce chamar sua classe pelo DOS). Uma vez que voce chamar a classe, voce tera que passar os parametros separados por espaco.

Entao, se voce quer usar dados passados pelo DOS, por que voce fez isso?

Voce acaba de apontar o seu array para uma referencia null, perdendo os dados passados pela linha de comando! Entao remova essa parte do seu codigo, e tambem remova

args[0]="paulo"; args[1]="ribeiro";

porque voce ira receber dados pela linha de comando.
Fazendo isso, recompile sua classe.

  1. Provavelmente voce recebeu essa mensagem de erro porque seu .class nao foi criado ( uma vez que vc nao havi aconseguido compila-lo). Entao, apenas apos voce jah ter compilado sua classe tente rodar esse comando.

Espero ter ajudado.
<><

gustavobs

tem que instanciar o array, nao se esqueça que array é uma instância.

Criado 2 de novembro de 2008
Ultima resposta 5 de nov. de 2008
Respostas 4
Participantes 5