Erro em exercicio ao buscar método

Olá a todos,

Estou fazendo um exercicio básico, porém não estou me dando muito bem, não estou achando a solução para o erro. Tenho que Fazer um arquivo com metodos set e get para codigo, nome e telefone e um outro método para acessar os metodos, gravando e buscando valores. Estou utilizando vetores, porém não estou conseguindo fazer o arquivo de teste achar os metodos get e set.

inicialmente estou com o código da seguinte forma:

package Exercicio_6;

public class Exercicio6 {

    private String codigo;
    private String nome;
    private String telefone;


    public void setCodigo(String codigo){
        this.codigo = codigo;
    }

    public String getCodigo(){
        return codigo;
    }

    public String getNome(){
        return nome;
    }

    public void setNome(String nome){
        this.nome = nome;
    }

    public String getTelefone(){
        return telefone;
    }

    public void setTelefone(String telefone){
        this.telefone = telefone;
    }

}

e o arquivo de testes e este:

package Exercicio_6;
import java.util.Scanner;

public class TesteEx6 {

    public static void main(String[] args) {
        String codAutor[] = new String[15];
        String nomeAutor[] = new String[15];
        String telAutor[] = new String[15];
        
        Scanner input = new Scanner(System.in);
        
        for (int i = 0 ; i < 15 ; i++) {
        System.out.print("Digite o codigo do Autor: ");
        codAutor[i].setCodigo(input.nextLine()) ;
        }
        
        for (int i = 0 ; i < 15 ; i++) {
        System.out.print("Digite o codigo do Autor: ");
        nomeAutor[i].setNome(input.nextLine()) ;
        }
        
        for (int i = 0 ; i < 15 ; i++) {
        System.out.print("Digite o codigo do Autor: ");
        telAutor[i].setTelefone(input.nextLine()) ;
        }
    }
}

O erro esta justamente nas linhas “codAutor[i].setCodigo(input.nextLine())”, “nomeAutor[i].setNome(input.nextLine())”, “telAutor[i].setTelefone(input.nextLine())”.

a mensagem que o netbeans esta dando é que não consegue encontrar o metodo setCodigo, setNome e setTelefone.

podem me ajudar, dizendo como solucionar este problema?

obrigado.

Mude isso:

   public static void main(String[] args) { 
        String codAutor[] = new String[15];          
        String nomeAutor[] = new String[15];  
        String telAutor[] = new String[15];    

Para isso:

     public static void main(String[] args) { 
      Exercicio6 obj = new Exercicio6();
        String codAutor[] = new String[15];           
        String nomeAutor[] = new String[15];  
        String telAutor[] = new String [15];    

Exemplo de uso:

 Exercicio6 obj = new Exercicio6();
        String codAutor[] = new String[15];           
        String nomeAutor[] = new String[15];  
        String telAutor[] = new String [15];

codAutor[1] = obj.getNome();  

Edit: Editei, você poderá acessar os getters, se tentar no setters vai dar erro porque ele não retorna e quem faz isso é os getters por padrão.

Aí no caso fica assim:

xercicio6 obj = new Exercicio6();
        String codAutor[] = new String[15];           
        String nomeAutor[] = new String[15];  
        String telAutor[] = new String [15];
obj.setNome("Obama");
codAutor[1] = obj.getNome();  

Flws

Então, tentei fazer essa mudança ai e não consegui acertar :confused:

entao eu reli o codigo e fiz algumas mudanças, que no netbeans nao mostra mais codigo com erro, porém na execução ele retorna erro, veja:

package Exercicio_6;

public class Autor {

    private String codAutor ;
    private String nomeAutor;
    private String telefone;

    public void setCodigo(String codAutor){
        this.codAutor = codAutor;
    }

    public String getCodigo(){
        return codAutor;
    }

    public String getNome(){
        return nomeAutor;
    }

    public void setNome(String nomeAutor){
        this.nomeAutor = nomeAutor;
    }

    public String getTelefone(){
        return telefone;
    }

    public void setTelefone(String telefone){
        this.telefone = telefone;
    }

}

e o arquivo principal ficou assim:

[code]
package Exercicio_6;
import java.util.Scanner;
/**
*

  • @author regregio
    */
    public class TesteEx6 {

    public static void main(String[] args) {

     Scanner input = new Scanner(System.in);
     Autor autor[] = new Autor[3];
    
     for (int i = 0 ; i < autor.length ; i++) {
     //-->> Gravando codigo do Autor
     System.out.printf("Digite o codigo do Autor "+ i+1 + ": ");
     autor[i].setCodigo(input.nextLine());
     //-->> Gravando Nome do Autor
     System.out.printf("Digite o Nome do Autor "+ i+1 + ": ");
     autor[i].setNome(input.nextLine());
     //-->> Gravando Telefone do Autor
     System.out.println("Digite o telefone do Autor "+ i+1 + ": ");
     autor[i].setTelefone(input.nextLine());
    
     }
    

    }
    }[/code]

agora ele esta executando com o seguinte erro:

run:
Digite o codigo do Autor 01: 01
Exception in thread "main" java.lang.NullPointerException
        at Exercicio_6.TesteEx6.main(TesteEx6.java:17)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 4 segundos)

entao, o que pode ser este erro??

Esses dias eu tive o mesmo problema e não consegui fazer um list da minha classe e adicionar os meus atributos, aí fiz o mesmo que fiz com o seu agora pra poder rodar sem erro:

import java.util.Scanner;
public class Autor {
	private String codAutor ;  
    private String nomeAutor;  
    private String telefone;  
    Scanner input = new Scanner(System.in);
    String[] autor = new String[3];  
    
    public void dadosAutor(){  
	        System.out.printf("Digite o codigo do Autor : ");  
	        autor[0] = this.codAutor = input.nextLine();
	        //-->> Gravando Nome do Autor  
	        System.out.printf("Digite o Nome do Autor : ");  
	        autor[1] = this.nomeAutor = input.nextLine();  
	        //-->> Gravando Telefone do Autor  
	        System.out.println("Digite o telefone do Autor : ");  
	        autor[2] = this.telefone = input.nextLine();  
	        
	        System.out.println("Código: "+ this.codAutor+ "\n" + "Nome: "+ this.nomeAutor+
	        		"\n"+ "Telefone: "+ this.telefone);
	 
   
}

A classe que testa:

import java.util.Scanner;


public class TesteEx6 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Autor jAutor = new Autor();
        // Acessando os método dos dados do Autor
		
		jAutor.dadosAutor();
		

}
}

Obs: Também quero saber como atribuir os meus atributos a uma lista do tipo da classe, pra fazer essa ‘gambiarra’.
Bom, tentei ajudar… Flws