Ir ao conteúdo

Exception in thread "main" java.lang.NullPointerException


Zé Carlos

Posts recomendados

Postado

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

Postado

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;
}

Postado
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

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!