O programa
[color=green]package avaliacao;
import javax.swing.JOptionPane;
import aluno.*;//ou import aluno.*;
/**
* <h1 style ="color: blue"> class Avaliacao</h1>
* Esta classe e respónsavel por setar os dados</br> da classe aluno
* e com estas informações</br>
* calculara a media de cada aluno em cada materia</br>
* e junto com sua frequência gerar para o professor</br>
* um relátorio mostrando se o aluno citado foi aprovado ou não.
* @name class Avaliacao
* @author 700542vanessa, 700424Marcos, 0700499Taís
* @version 0.0.1
*/
public class Avaliacao {
/**
* Responsável por armazenar as notas dos alunos em suas</br>
* principais materias em três notas.
* @name nota[]
* @acess public
* @type float[]
*
*/
float nota[] = null;
/**
* Responsável por armazenar a media de todas as materias</br>
* em que o aluno esta cadastrado.
* @name media[]
* @acess public
* @type float[]
*
*/
float media[] = null;
/**
* Responsável por armazenar a assiduidade dos alunos em aula.
* @name frequencia[]
* @acess public
* @type frequencia[]
*
*/
float[] frequencia = new float[4];
/**
* Responsável por o total de aulas em cada materia.
* @name diaAula[]
* @acess public
* @type string[]
*
*/
//float[] diaAula = new diaAula[4];
/**
* Responsável por armazenar a quantidade de falta dos</br>
* alunos em cada displina.
* @name falta[]
* @acess public
* @type float[]
*
*/
float[] falta = new float[4];
/**
* Responsável por armazenar a quantidade de alunos para cadastro.
* @name diaFalta[]
* @acess public
* @type float[]
*
*/
float[] diaFalta = new float[4];
/**
* Responsável por armazenar os principais dados dos alunos como</br>
* nome aluno, matricula e materias que ao todo são quatro.
* @name String[]
* @acess public
* @type string[]
*
*/
private String dados [][] = new String[10][10];
/**
* Utilizados como contadores para auxiliar na amostragem dos dados</br>
* principais dos alunos.
* @name i, j
* @acess public
* @type int
*
*/
int i, j;
/**
* principal função receber os dados cadastrados para cada aluno</br>
* e pegar a materia de cada e calcular sua media em cada uma atraves das </br>
* notas fornecidas pelo usuário.
* @name avaliacaoAluno()
* @access public
* @param float
* @return float
* @since 0.0.1
* */
float[] total = null;
public Aluno a1 = new Aluno();
public float avaliacaoAluno (){
System.out.println("inicio avaliacao.");
for (int k = 1; k <a1.qtdAluno.length; k++) {
for ( i = 1; i <a1.guardarDados.length; i++) {
nota[i] = Float.parseFloat(JOptionPane.showInputDialog ("digite a " +a1.guardarDados + " nota do Aluno. "));
System.out.println("nota " +nota[i]);
System.out.println("total "+total[i]);
total[i] += nota[i];
}
}
return total[i];
}
public float calculaMedia(){
for (i = 1; i<4; i++){
media[i] = total[i]/3;
System.out.println("media " +media[i]);
}
return media[i];
}
}
/**
* principal função calcular a frequência dos alunos em cada materia e retornar</br>
* como resultado se o aluno foi reprovado por faltas ou não.
* @name frequencia()
* @access public
* @param void
* @return float
* @since 0.0.1
* */
/* public void frequencia(){
System.out.println("inicio frequencia.");
for ( i = 0; i <getGuardarDados.lenth; i++) {
diaAula = JOptionPane.showInputDialog("digite o total de aulas do aluno ? ");
falta = JOptionPane.showInputDialog("digite o total de faltas do aluno ? ");
frequencia = (float)(diaAula * 0.75);
diaFalta = diaAula[] - falta[];
System.out.println("frequencia" +frequencia);
System.out.println("diaFalta" +diaFalta);
}
if(diaFalta <= frequencia) {
System.out.println("Aluno reprovado.");
}
else
{
System.out.println("Aluno aprovado.");
}
}
*/
/**
* principal função receber os dados dos metodos avaliacaoAluno() e</br>
* frequência() e retornar ao usuário se o aluno foi aprovado ou não</br>
* dizendo o motivo se por faltas, media ou os dois.
* @name aprovacao()
* @access public
* @param void
* @return String
* @since 0.0.1
* */
/*void aprovacao (float media, int frequencia, int materia){
for ( i = 0; i <getGuardarDados.lenth; i++){
if ((media >= 6) && (diaFalta <= frequencia)) {
System.out.println("Reprovado por faltas");
} else {
System.out.println("aprovado");
}
if (frequencia <= diaFalta) {
System.out.println("reprovado por nota");
} else {
System.out.println("Reprovado por faltas e notas.");
}
}
}
*/
OS METODOS SÃO CHAMADOS DE OUTRA CLASSE
[color=green]public class Aluno{
public String getGuardarDados(String guardarDados) {
return guardarDados;
}
/**
* principal função contador que auxilia na</br> captura e guarda dos dados que usuário digita sobre o aluno</br>
* que e o seu nome, matricula e materias.
* @name capturarDados()
* @access public
* @param int
* @return int
* @since 0.0.2
* */
public int getFix() {
return getFix();
}
public String getQtdAluno(String qtdAluno) {
return qtdAluno;
}
}
E no final ele aparece a seguinte mensagem de erro
[color=red]Exception in thread "main" java.lang.NullPointerException
at avaliacao.Avaliacao.avaliacaoAluno(Avaliacao.java:105)
at aluno.TesteAluno.main(TesteAluno.java:38)
inicio avaliacao.
O que posso fazer para depurar este problema?