O que isto quer dizer?

Pessoal boa tarde, gostaria do auxilio de vc’s mais uma vez é o seguinte:
tenho uma classe que escreve num vetor. esta funcionando mas ta gerando este erro:


ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183):  [../../../src/share/back/util.c:820]

alguem mode me dizer o que quer dizer este erro?

Coloque a parte do código ou o código inteiro que está dando esse erro.

pra não repetir…

http://www.guj.com.br/posts/list/143927.java

neste meu outro topico tem o codigo, quando coloco uma posição válida, ele imprime o valor correto e da este erro, isso acontecem em todos os metodos de teste outro exemplo



public class TesteAdicionaNoFim {
	public static void main(String[] args) {
	
		Aluno a1 = new Aluno();
		Aluno a2 = new Aluno();
		Vetor lista = new Vetor();
	
		a1.setNome("Rafael");
		a2.setNome("Paulo");
		
		lista.adicionaFim(a1);
		lista.adicionaFim(a2);
		
		for(int i = 0;i < lista.getTotalDeAlunos();i++){
			System.out.println(lista.getAlunos()[i]);
		}
	}

}

coloque o codigo do Vetor

quer dizer esta classe?

public class Vetor {
	private Aluno[] alunos = new Aluno[100];
	private int totalDeAlunos = 0;
	
	// Adiciona no fim do vetor
	public void adicionaFim (Aluno aluno){
		this.garantaEspaco();
		this.alunos[this.totalDeAlunos]=aluno;
		this.totalDeAlunos++;
	}
	// entrega total de nomes
	public int getTotalDeAlunos() {
		return totalDeAlunos;
	}
	// atribui total de alunos
	public void setTotalDeAlunos(int totalDeAlunos) {
		this.totalDeAlunos = totalDeAlunos;
	}
	//entrega nomes
	public Aluno[] getAlunos() {
		return alunos;
	}
	//atribiu nomes
	public void setAlunos(Aluno[] alunos) {
		this.alunos = alunos;
	}
	//adiciona nome por possição
	public void adicioNaPosicao(int posicao, Aluno aluno){	
		this.garantaEspaco();
		if(!this.posicaoValida(posicao)){
			System.out.println(posicao);
			throw new IllegalArgumentException("Posição Inválida");
		}
		if(!this.posicaoOcupada(posicao)){
			System.out.println(posicao);
			throw new IllegalArgumentException("Posição Inválida");
		}
		for(int i = this.totalDeAlunos-1;i>=posicao;i--){
			this.alunos[i+1]=this.alunos[i];
		}
		this.alunos[posicao]=aluno;
		this.totalDeAlunos++;
	}
	//entrega nome por posicao
	public Aluno pega(int posicao){
		if(!this.posicaoOcupada(posicao)){
			System.out.println(posicao);
			throw new IllegalArgumentException("Posição Inválida");
		}
		return this.alunos[posicao];
	}
	//remove por posição
	public void remove(int posicao){
		if(!this.posicaoOcupada(posicao)){
			System.out.println(posicao);
			throw new IllegalArgumentException("Posição Inválida");
		}
		for(int i = posicao;i<this.totalDeAlunos;i++){
			this.alunos[i]=this.alunos[i+1];
		}
		this.totalDeAlunos--;
	}
	//verifica se nome ja esta cadastrado
	public boolean contem(Aluno aluno){
		for(int i=0;i >< this.getTotalDeAlunos();i++){
			if(aluno.equals(this.alunos[i])){
				return true;
			}
		}
		return false;
	}
	//Verifica se a posição esta ocupada
	public boolean posicaoOcupada (int posicao){
		return posicao >= 0 && posicao < this.tamanho();
	}
	//verifica se a posicao solicitada e valida
	private boolean posicaoValida(int posicao){
		return posicao >= 0 && posicao <= this.totalDeAlunos;
	}
	
	//tamanho do vetor
	public int tamanho(){
		return this.getTotalDeAlunos();
	}
	//dobra o tamanho do vetor, sempre que este estiver cheio
	private void garantaEspaco(){
		if(this.totalDeAlunos == this.alunos.length){
			Aluno[] novoArray = new Aluno[this.alunos.length*2];
			for(int i=0;i<this.alunos.length;i++){
				novoArray[i]=this.alunos[i];
			}
			this.alunos=novoArray;
		}
	}
}

>

Olha só, você está comentendo dois erros, um na sua classe e outro no seu teste, porque quendo você está querendo chamar alunos dentro do loop for você está chamando como se o objeto lista você um vetor e não é, existe um vetor dentro da classe lista mais o objeto não é um, o outro erro é que você quendo criou o método getAlunos() você está retornando todo o vetor de Alunos aja que pode ser que nem todas as posições do vetor podem está oculpandas, minha opnião é o seguinto, criar um método que retorne uma String com todos os dados dos alunos ADICIONADOS na lista.

ex:

// retornando uma String com todos os dados dos Alunos adicionados
public String getAlunos() {
        // verifica se a lista está vazia
        if (this.tamanho() == 0)
           return "Lista Vazia";

        // é um objeto para armazenamento de dados facilita
        // mais do que ficar concatenando Strings
       StringBuilder str = new StringBuilder(String.format("%-30s\n", "Nome"));

       for (int count = 0; count < this.tamanho(); count++)
            str.append(String.format("%-30s\n", alunos[count]));

       // retornando um String
       return String.format("%s", str);
}

Essa é uma maneira certa de retorna os dados inseridos na lista!
Até!

Grato, parou o erro