NullPointerException

1 resposta
J

olá pessoal,
estou tentando fazer um programa para inserir e depois exibir as notas dos alunos mas esta dando erro de NullPointerException, me ajudem por favor!!!

Classe RegistroNotas

public class RegistroNotas {
    
    String nome;
    double nota1;
    double nota2;
    double nota3;
    double nota4;  
    
    /** Creates a new instance of RegistroNotas */
    public RegistroNotas(String N, double N1, double N2, double N3, double N4) {
        this.nome = N;
	this.nota1 = N1;
	this.nota2 = N2;
	this.nota3 = N3;
	this.nota4 = N4;
    }
    
}

Classe Notas

import javax.swing.JOptionPane;

public class Notas
{
    public static void main(String args[])
    {
        RegistroNotas[] notas = new RegistroNotas[8];
        int i;
        
        for(i=0 ; i <= notas.length-1 ; i++)
        {
            notas[i].nome = JOptionPane.showInputDialog("Digite o nome do aluno.");
            notas[i].nota1 = Double.parseDouble(JOptionPane.showInputDialog("Digite a primeira nota do aluno."));
            notas[i].nota2 = Double.parseDouble(JOptionPane.showInputDialog("Digite a segunda nota do aluno."));
            notas[i].nota3 = Double.parseDouble(JOptionPane.showInputDialog("Digite a terceira nota do aluno."));
            notas[i].nota4 = Double.parseDouble(JOptionPane.showInputDialog("Digite a quarta nota do aluno."));            
        }       
                
        for(int x=0; x <= notas.length-1 ; x++)
        {
            JOptionPane.showMessageDialog(null,"Aluno: " + notas[x].nome + " Nota 1: " + notas[x].nota1 + " Nota 2: " + notas[x].nota2 + " Nota 3: " + notas[x].nota3 + " Nota 4: " + notas[x].nota4);                        
        }
    }
}

Quando vou inserir o valor nome ele da a mensagem de erro NullPointerException e encerra o programa, podem me ajudar por favor!!!

Grato,

Alex

1 Resposta

S

tenta assim:

import javax.swing.*;
public class RegistroNotas {

	String nome;
    double nota1;
    double nota2;
    double nota3;
    double nota4; 
   
    /** Creates a new instance of RegistroNotas */
    public RegistroNotas(String N, double N1, double N2, double N3, double N4) {
        this.nome = N;
   this.nota1 = N1;
   this.nota2 = N2;
   this.nota3 = N3;
   this.nota4 = N4;
    }
    
	
	public RegistroNotas(){}// crie um construtor sem argumentos
	
	
	
	
	public static void main(String[] args) {
		
		  RegistroNotas[] notas = new RegistroNotas[8];
	        int i;
	       
	        for(i=0 ; i <= notas.length-1 ; i++)
	        {
	           notas[i] = new RegistroNotas();// vc tem que instanciar o objeto
	        	   notas[i].nome = JOptionPane.showInputDialog("Digite o nome do aluno.");
	            notas[i].nota1 = Double.parseDouble(JOptionPane.showInputDialog("Digite a primeira nota do aluno."));
	            notas[i].nota2 = Double.parseDouble(JOptionPane.showInputDialog("Digite a segunda nota do aluno."));
	            notas[i].nota3 = Double.parseDouble(JOptionPane.showInputDialog("Digite a terceira nota do aluno."));
	            notas[i].nota4 = Double.parseDouble(JOptionPane.showInputDialog("Digite a quarta nota do aluno."));           
	        }       
	               
	        for(int x=0; x <= notas.length-1 ; x++)
	        {
	            JOptionPane.showMessageDialog(null,"Aluno: " + notas[x].nome + " Nota 1: " + notas[x].nota1 + " Nota 2: " + notas[x].nota2 + " Nota 3: " + notas[x].nota3 + " Nota 4: " + notas[x].nota4);                       
	      
	        }
		
	}

}

t+ :cool:

Criado 24 de setembro de 2006
Ultima resposta 24 de set. de 2006
Respostas 1
Participantes 2