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?
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)
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