Umif pode agir como um for?

Pessoal porque isso esta acontecendo ???
No caso aqui o meu if ta agindo como um for ou while , entendeu ?
e eu não sei porque?

essa é a classe Biblioteca repare que no if ele enta em um laço

[public class Biblioteca {

	Artigo [] artigo = new Artigo[2];
	Livro [] livro = new Livro[2];
	Revista [] revista = new Revista [2];
	public static int cont = 0;
	Autores [] autores = new Autores[2];
	


	public void adcionaAutor(int id, String nome_Autor, String sobrenome){
		JOptionPane.showMessageDialog(null, cont);
		autores[0]= new Autores();
	
		if(cont <= 2){
		autores[0].setId(id);
		autores[0].setNome_Autor(nome_Autor);
		autores[0].setSobrenome(sobrenome);
		cont++;
	
		}
		
		JOptionPane.showMessageDialog(null, cont);

	}
	
	public void mostraAutores(){
		


		
		System.out.println("Existem esses Autores Cadastrados: ");
		System.out.println(autores[0].getId());
		System.out.println("Nome: "+ autores[0].getNome_Autor());
		System.out.println("Sobrenome"+ autores[0].getSobrenome());
	}
	
	
}
]

agora olha a classe testa biblioteca .

[/quote]

[
public class TestaBiblioteca {

	public static void main (String args[]){
		
		Biblioteca b = new Biblioteca() ;
	
		
		b.adcionaAutor(1, "Jean", "Carlos");
		b.adcionaAutor(2, "Fernando", "Silva");
		b.adcionaAutor(3, "Fabio", "Assis");
	
	
		b.mostraAutores();
	
	}
	
}

Como o cont é static, ele não é “perdido”, então quando você incrementa ele não volta pro valor 0; continua com o último valor incrementado.

Obrigado,
era realmente o cont o problema …

Se era só isso, coloque um [RESOLVIDO] no título do seu tópico… :wink: