Error in method: removeEditoraPrevious

0

I'm a beginner in Java, and I'm having an error in a method of the Edit class, to remove the publisher. The method to remove an author works perfectly with the same logic, since in the remove editor method it gives this error:

Followthecode:

LibraryClass,containingmethodstoremoveAuthorandPublisher

publicvoidremoverAutorAnterior(Autorcodigo){autores.remove(codigo);}publicvoidremoverEditoraAnterior(Editoracodigo){editora.remove(codigo);}

EditClass

case1:{AutorAtorAnterior=biblioteca.pesquisarAutor(codigo);System.out.println("Digite o código do autor que deseja editar:");
    AtorAnterior.setCodigo(scannerNumerico.nextInt());


    if(AtorAnterior==null){
    System.out.println("Error: autor não encontrado");
   }

    else{
    System.out.println("Autor encontrado:"+AtorAnterior.getNome());

    Autor Autornovo= new Autor();

    System.out.println("Digite um novo nome:");
    Autornovo.setNome(scannerString.nextLine());

    System.out.println("Digite um novo email:");
    Autornovo.setEmail(scannerString.nextLine());

    biblioteca.removerAutorAnterior(AtorAnterior); **irá remover o autor anterior**

   biblioteca.cadastarAutor(Autornovo); **irá cadastrar o novo autor**
        }
            break;
        }   

This is where the error is in the method: biblioteca.removerEditoraPrevious (EditoraPrevious):

    //Editar Editora
        case 2:{


            Editora EditoraAnterior=biblioteca.pesquisarEditora(codigo);

            System.out.println("Digite o código da editora que deseja editar:");
             EditoraAnterior.setCodigo(scannerNumerico.nextInt());

            if( EditoraAnterior==null){
                System.out.println("Error: Editora não encontrada");
            }

            else{
                System.out.println("Editora encontrada:"+ EditoraAnterior.getNome());

                Editora EditoraNova= new Editora();

                System.out.println("Digite os novos dados:\n");

                System.out.println("Digite novo nome:");
                EditoraNova.setNome(scannerNumerico.nextLine());

                System.out.println("Digite o novo cnpj");
                EditoraNova.setCnpj(scannerNumerico.nextInt());

                biblioteca.removerEditoraAnterior(EditoraAnterior);
                biblioteca.cadastrarEditora(EditoraNova);

            break;  
            }

            }
    
asked by anonymous 30.06.2017 / 04:32

1 answer

0

Dude, it might be an error in your eclipse. But this code is very strange. Try to feed this variable code with a value q does not exist. Then try to execute this line EditoraAnterior.setCodigo(scannerNumerico.nextInt()); There's no way this guy can work, how will you set a value for a null object? It will give NullPointerException has to put this test if( EditoraAnterior==null) after the line Editora EditoraAnterior=biblioteca.pesquisarEditora(codigo);

   Editora EditoraAnterior=biblioteca.pesquisarEditora(codigo);

   System.out.println("Digite o código da editora que deseja editar:");
   EditoraAnterior.setCodigo(scannerNumerico.nextInt());

   if( EditoraAnterior==null){
       System.out.println("Error: Editora não encontrada");
   }
    
10.07.2017 / 04:18