Olá pessoal sou novo aqui, e em programação também, minha pergunta pode até se ignorância mim mas alguém poderia me ajuda, estou comparando um String chamada titulo dentro de uma estrutura, copila tudo normal porém, quando o código e executador e chama o método “bubberShot” da um erro no console, em baixa segue a mensagem de erro e o método que está com problemas.
Há e também como poderia está invocando este método na class principal “man”.
Desde já agradeço.
##################################################################
(Exception in thread “main” java.lang.NullPointerException
at Cadastro.bubberShot(Cadastro.java:51)
at Cadastro.main(Cadastro.java:39))
##################################################################
import java.util.Scanner;
public class Cadastro {
public static void main (String[]args) {
Livros[] cadast = new Livros [5];
String condic = null;
for(int i = 0 ; i < cadast.length; i++) {
cadast[i]= new Livros();
System.out.println("\tCadastro de livro "+i+":");
System.out.print("Infomre o titulo do livro:");
cadast[i].titulo = new Scanner(System.in).nextLine();
System.out.print("Infomre o ano de publicação:");
cadast[i].anoPublic = new Scanner(System.in).nextInt();
System.out.print("Infomre o autor:");
cadast[i].autor = new Scanner(System.in).nextLine();
System.out.print("Infomre a editora:");
cadast[i].editora = new Scanner(System.in).nextLine();
System.out.println("#####################################");
System.out.print("Deseja continuar cadastrando livros? S/N!");
condic = new Scanner(System.in).nextLine();
if(condic.equalsIgnoreCase("N")){
break;
}
}
linha 39 bubbleSort(cadast);
}
public static void bubbleSort(Livros[] vt) {
String aux=null;
for(int i = 1 ; i <vt.length ; i++) {
for(int j = vt.length-1; j>=i; j--) {
linha 51 int retorno = vt[j].titulo.compareTo(vt[j-1].titulo);
if(retorno<0) {
aux=vt[j].titulo;
vt[j].titulo=vt[j-1].titulo;
vt[j-1].titulo=aux;
}
}
}
for(Livros x:vt) {
System.out.println("|"+x);
}
}
}