Ir ao conteúdo
  • Cadastre-se

Exception in thread "main" java.lang.NullPointerException


Zé Carlos

Posts recomendados

Galera to com esse erro, o erro se dá durante a execução. ja não sei mais o que fazer!

Me ajudem por favor.

Exception in thread "main" java.lang.NullPointerException

at Agenda.Cadastrar(Agenda.java:11)

at Agenda.main(Agenda.java:50)

import java.util.Scanner;

public class Agenda {

public static void Cadastrar(Fornecedores[] cliente,int i) {
Scanner sc = new Scanner (System.in);
int op;
do {
System.out.println ("Digite o nome do cliente: ");
cliente[i].cont.nome = sc.nextLine();
System.out.println (cliente[i].cont.nome);

i = i + 1;

System.out.println ("Deseja cadastrar mais um? <1=sim 0=nao>");
op = sc.nextInt();

}while (op != 0);

return;
}

public static void Remover(){
System.out.println("OK 2");
return;
}

public static void Consulta(){
System.out.println("OK 3");
return;
}



public static void main (String[] args) {
Fornecedores[] cliente = new Fornecedores[1000];
int resp,i=0;
Scanner sc = new Scanner (System.in);

do{
System.out.println ("\t MENU");
System.out.println ("\t<1> CADASTRAR \n\t<2> REMOVER \n\t<3> CONSULTA \n\t<0> SAIR");
System.out.print ("OPÇÃO: ");
resp = sc.nextInt();

switch (resp){

case 1:
Cadastrar(cliente, i);
break;

case 2:
Remover();
break;

case 3:
Consulta();
break;

default:
System.out.println("Escolha uma opcao valída");
}
}while (resp != 0);

System.out.println("ATÉ A PROXIMA");

}
}

Ja fiz a classe "Fornecedores", e "Contato" tipo so to testando com a inseção do nome e ta dando esse erro, so que não consegui achar onde que errei nas declarações pra dar esse BENDITO erro.

Grato pela ajuda.

José Carlos Ulchak

Obrigado

Link para o comentário
Compartilhar em outros sites

Estou sem compilador de java aqui, mas é quase certeza que o problema esta na falta de inicializador para os clientes, tente o método cadastrar assim

public static void Cadastrar(Fornecedores[] cliente,int i) {
Scanner sc = new Scanner (System.in);
int op;
do {
cliente[i] = new Fornecedores(); // ou o construtor da sua classe.
System.out.println ("Digite o nome do cliente: ");
cliente[i].cont.nome = sc.nextLine();
System.out.println (cliente[i].cont.nome);

i = i + 1;

System.out.println ("Deseja cadastrar mais um? <1=sim 0=nao>");
op = sc.nextInt();

}while (op != 0);

return;
}

Link para o comentário
Compartilhar em outros sites

Estou sem compilador de java aqui, mas é quase certeza que o problema esta na falta de inicializador para os clientes, tente o método cadastrar assim

public static void Cadastrar(Fornecedores[] cliente,int i) {
Scanner sc = new Scanner (System.in);
int op;
do {
cliente[i] = new Fornecedores(); // ou o construtor da sua classe.
System.out.println ("Digite o nome do cliente: ");
cliente[i].cont.nome = sc.nextLine();
System.out.println (cliente[i].cont.nome);

i = i + 1;

System.out.println ("Deseja cadastrar mais um? <1=sim 0=nao>");
op = sc.nextInt();

}while (op != 0);

return;
}

É... Foi o que faltou mesmo, tinha esquicido de declarar "cliente = new Fornecedores()", deu certo!!

Brigadão. Ate uma próxima. :D

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!