estoy tratando de imprimir una matriz, el código funciona así. Son 3 idiomas, se elige el idioma y entra a opciones, la primera es capturar datos, pide nombre, edad, sexo, estatura y correo, lleno los datos sin problema. La segunda opción es para mostrar los datos, entra a un submenu, imprime todos, por edad y por sexo. Cuando imprimo todos no hay problema, el detalle es en edad y sexo, me marca el error Exception in thread "main" java.lang.NullPointerException
Anexo código:
import java.util.*;//import para poder usar scanner
public class MatrizIdiomas {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in); //Se crea para leer datos por el usuario
String registros[][]=new String[10][5];//declaración de la matriz que va a contener 10 filas y 5 columnas
int opc;//entero para almacenar la opcion del menu
String ed="";//usado para buscar la edad
String bien="", menuopc="",menu3="";//cadenas con los mensajes en distintos idiomas
String nom="",sex="",edad="",est="",email="",msjsalida=""; //mensajes en distintos idiomas
System.out.print("Selecciona el idioma\n1.Español\n2.Ingles\n3.Frances\n");//Mensaje para seleccionar el idioma
opc=sc.nextInt();//lectura de opcion de idioma
if(opc==1){//condicional if para obtener los mensajes en español
bien="Bienvenido a bordo";//mensaje bienvenida
menuopc="-----MENU-----\n1.Capturar información\n2.Mostrar información\n0.SALIR\n";//mensaje de menu de opcines en español
menu3="Elige una opcion:\n1.Todos\n2.Edad\n3.Sexo\n";
nom="Ingresa el nombre: ";
sex="Ingresa el sexo M de masculino y F de femenino: ";
edad="Ingresa tu edad: ";
est="Ingresa la estatura en centimetros: ";
email="Ingresa el correo electronico: ";
msjsalida="Ingresa $ en el nombre para salir";
}
if(opc==2){//seleccion para mensajes en ingles
bien="Welcome to aboard";//mensaje de bienvenida en igles
menuopc="----- MENU -----\n1.Capture information\n2.View information\n0.EXIT\n";//mensaje de menu de opcines en ingles
nom="Enter name: ";
sex="Enter the gender M for male and F for female: "; //mensajes en ingles
edad="Enter your age: ";
est="Enter the height in centimeters: ";
email="Enter email: ";
msjsalida="Enter $ in the name to exit";
menu3="Choose an option:\n1.All\n2.Age\n3.Sex";
}
if(opc==3){
bien="Bienvenue à bord";//bienvenida en ingles
menuopc="----- MENU -----\n1.Capturer les informations\n2.Afficher les informations\n0.EXIT\nn";//menu en frances
nom="Saisissez le nom : ";
sex="Entrez le genre M pour homme et F pour femme: "; //mensajes en frances
edad="Entrez votre âge: ";
est="Entrez la hauteur en centimètres: ";
email="Entrez l'e-mail : ";
msjsalida="Entrez '$' dans le nom pour quitter";
menu3="Choisissez une option:\n1.Tous\n2.Âge\n3.Sexe";
}
System.out.print(""+bien);//mensaje de bienvenida
opc=10;//se le pone otro valor ya que se volvera a usar
do{
System.out.print(""+menuopc);//Se imprime el segundo menu
opc=sc.nextInt();//valor elegido
sc.nextLine();
switch(opc){//Seleccion de opciones
case 1: //entra a capturar informacion
System.out.print(msjsalida+"\n");
for(int i=0;i<10;i++){
System.out.print(nom);
registros[i][0]=sc.nextLine();
if(registros[i][0].equals("$")){
i=100;
}
else{
System.out.print(sex);
registros[i][1]=sc.nextLine();
System.out.print(edad);
registros[i][2]=sc.nextLine();
System.out.print(est);
registros[i][3]=sc.nextLine();
System.out.print(email);
registros[i][4]=sc.nextLine();
}
}
break;
case 2:
System.out.print(menu3);
opc=sc.nextInt();
switch(opc){
case 1:
for(int i=0;i<10;i++){
if(registros[i][0].equals("$")){
i=100;
}
else{
System.out.print(registros[i][0]+" "+registros[i][1]+" "+registros[i][2]+" "+registros[i][3]+" "+registros[i][4]+"\n");
}
}
break;
case 2:
System.out.print(edad);
ed=sc.nextLine();
sc.nextLine();
for(int i=0;i<10;i++){
if(registros[i][2].equalsIgnoreCase(ed)){
System.out.print(registros[i][0]+" "+registros[i][1]+" "+registros[i][2]+" "+registros[i][3]+" "+registros[i][4]+"\n");
}
}
break;
case 3:
System.out.print(sex);
ed=sc.nextLine();
sc.nextLine();
for(int i=0;i<registros.length;i++){
while(registros[i][1].equalsIgnoreCase(ed)){
System.out.print(registros[i][0]+" "+registros[i][1]+" "+registros[i][2]+" "+registros[i][3]+" "+registros[i][4]+"\n");
}
}
break;
}
break;
}
}while(opc!=0);
}
}