Olá pessoal,
sou iniciante em java
tive como trabalho criar uma agenda telefonica, que conste nome, telefone, endereço, sexo, idade
para isso criei uma matriz 5X50 (50 é a capacidade de contatos)
Uso o Eclipse para criar os códigos
O código e esse ae
[code]import java.io.*;
import java.util.Scanner;
public class Agenda{
//declaração variáveis globais
static Scanner x = new Scanner(System.in);
static String M[][] = new String [50][5];
static String c;
public static void zerar(){
for(int i = 0;i<50;i++){
for(int j = 0;j<5;j++){
M[i][j] = “_”;
}}
}
public static void main(String args[])throws IOException{
int key;
String nome;
int f;
System.out.println(“Agenda”);
System.out.println(“Digite a opção desejada”);
System.out.print("1)----> Consultar agenda\n2)----> Inserir contato\n3)----> Editar contato\n4)----> Excluir contato: ");
key = x.nextInt();
switch(key){
case 1:
System.out.println(“Digite o nome a ser consultado”);
nome = x.next();
f = consulta(nome);
mostrar(f);
break;
case 2:
System.out.println(“Digite o nome a ser inserido”);
nome = x.next();
inserçao(nome);
break;
case 3:
break;
case 4:
System.out.println(“Digite o nome do contato a ser excluido”);
nome = x.next();
excluir(nome);
break;
}
}
public static int consulta(String name){
int x = 0 ;
for(int i = 0;i< 50; i++){
if(M[i][1].equals(name)){
x = i;
}else{
x = -1;
}
}
return(x);
}
public static void mostrar(int x){
System.out.println("Nome: " + M[x][1]);
System.out.println("Telefone: " + M[x][2]);
System.out.println("Endereço: " + M[x][3]);
System.out.println("Idade: " + M[x][4]);
System.out.println("Sexo: " + M[x][5]);
}
public static void inserçao(String nome)throws IOException{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String tel, end, id, sexo;
int z;
z = consulta(nome);
if(z==-1){
for(int i = 0;i< 50; i++){
if(M[i][1].equals("")){
System.out.println(“Digite o nome a ser inserido”);
nome = x.next();
M[i][1] = nome;
System.out.println(“Digite o telefone do contato”);
tel = x.next();
M[i][2] = tel;
System.out.println(“Digite o endereço do contato”);
end = x.next();
M[i][3] = end;
System.out.println(“Digite a idade do contato”);
id = x.next();
M[i][4] = id;
System.out.println(“Digite o sexo do contato”);
sexo = x.next();
M[i][5] = sexo;
}}
}
}
public static void excluir(String nome)throws IOException{
int v;
int j, f;
f = consulta(nome);
if(f==-1){
System.out.println(“Nome não consta na agenda”);
}else{
for(j = 0;j<5; j++){
System.out.println(M[f][j]);}
System.out.print(“Deseja realmente excluir este contato?(1-> excluir / outra tecla -> sair)”);
v = x.nextInt();
if(v==1){
for(j = 0; j<5; j++);
M[f][j] = “_”;
}
}
}
}[/code]
Quando eu mando rodar, aparece no console do eclipse os prompts normais. Ao escolher qualquer opção, aparece o seguinte erro:
Exception in thread “main” java.lang.NullPointerException
at Agenda.consulta(Agenda.java:51)
at Agenda.main(Agenda.java:30)
Dei uma olhada pela internet mas nao entendi sobre o que se trata esse erro.
Poderiam me ajudar?
Obrigado