Ai galera tou desenvolvendo uma agenda basica…
Mais na hora que eu chamo a função listar() ela executa entao de acordo com o codigo logo apos vem a chamada da função menu()…Só que dai da o seguinte erro…
-CODIGO RODANDO-
init:
deps-jar:
Deleted 1 out of date files in 0 seconds
Compiling 2 source files to D:\Heladio\Estudos\Java\NetBeansProjects\Agenda\build\classes
compile:
run:
----------AGENDA----------
1 - Inserir
2 - Listar
1
----------INSERIR----------
Quantidade de cadastros:
2
Post: 1
Nome:
Heladio
Idade:
21
Telefone:
555
Post: 2
Nome:
Lucas
Idade:
21
Telefone:
666
----------AGENDA----------
1 - Inserir
2 - Listar
2
----------LISTAR----------
Nome: Heladio
Nome: 21
Nome: 555
Nome: Lucas
Nome: 21
Nome: 666
Exception in thread “main” java.lang.NullPointerException
at agenda.agenda.listar(agenda.java:64)
at agenda.agenda.menu(agenda.java:30)
at agenda.agenda.inserir(agenda.java:57)
at agenda.agenda.menu(agenda.java:27)
at agenda.Main.main(Main.java:21)
Java Result: 1
BUILD SUCCESSFUL (total time: 17 seconds)
eu queria saber como faço pra nao dar mais esse erro e retornar pra função menu…
Aqui vai o codigo:
-----------------------------------CLASSE MAIN---------------------------------------------------
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package agenda;
/**
*
* @author Heladio
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
agenda agend=new agenda();
agend.menu();
}
}
----------------------------------------------CLASSE PESSOAS--------------------------------------------------
package agenda;
/**
*
* @author Heladio
*/
public class pessoas {
String nome;
int idade;
int tel;
pessoas() {}
pessoas(String name, int year, int tell) {
nome=name;
idade=year;
tel=tell;
}
public void setNome(String name){
nome=name;
}
public String getNome(){
return nome;
}
public void setIdade(int year){
idade=year;
}
public int getIdade(){
return idade;
}
public void setTelefone(int tell){
tel=tell;
}
public int getTelefone(){
return tel;
}
}
------------------------------------------CLASSE AGENDA-----------------------------------------------------
package agenda;
import java.util.Scanner;
import javax.swing.JOptionPane;
import java.lang.String;
import java.lang.System;
public class agenda {
Scanner ler = new Scanner(System.in);
static pessoas pessoa[] = new pessoas[100];
public void menu(){
System.out.println("----------AGENDA----------\n");
System.out.println("1 - Inserir\n2 - Listar\n");
switch(ler.nextInt()){
case 1:
inserir();
break;
case 2:
listar();
break;
}
}
public void inserir(){
int y;
int x=0;
int cod;
System.out.println("----------INSERIR----------\n");
System.out.println("Quantidade de cadastros: \n");
y=ler.nextInt();
for(int i=0;i<y;i++){
pessoa[x]=new pessoas();
cod=x+1;
System.out.printf("Post: %d\n", cod);
System.out.println("Nome: ");
pessoa[x].setNome(lerString());
System.out.println("Idade: ");
pessoa[x].setIdade(lerInt());
System.out.println("Telefone: ");
pessoa[x].setTelefone(ler.nextInt());
x++;
}
menu();
}
public void listar(){
System.out.println("----------LISTAR----------\n");
for(int i=0;i<pessoa.length;i++){
System.out.printf("Nome: %s\n", pessoa[i].getNome());
System.out.printf("Nome: %d\n", pessoa[i].getIdade());
System.out.printf("Nome: %d\n", pessoa[i].getTelefone());
}
menu();
}
public static String lerString(){
// método que lê Strings de entrada.
Scanner leitorString = new Scanner(System.in);
return leitorString.nextLine();
}
public static int lerInt(){
// método que le Inteiros de entrada.
Scanner leitorInt = new Scanner(System.in);
return leitorInt.nextInt();
}
}