Salve amigos estou com um problema ao executar meu micro sistema de média. Acho que seja somente um detalhe, mas tá difícil descobrir o que é.
Aproveitando o espaço alguém pode me dizer da forma mais simples possível para que serve esse bendito this. Pelo que sei é uma referência à uma variável do próprio objeto, é isso mesmo? Tem algo mais?
Desde já agradeço a atenção de todos.
import javax.swing.JOptionPane;
public class MediaAluno {
private String nota[] = new String[4];
private double noTa[] = new double[4];
private String nome;
private String materia;
private double media=0.0;
public String[] getNota() {
return nota;
}
public void setNota(String[] nota) {
this.nota = nota;
}
public double[]getNoTa(){
return noTa;
}
public void setNoTa(double[]noTa){
this.noTa=noTa;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getMateria() {
return materia;
}
public void setMateria(String materia) {
this.materia = materia;
}
public double getMedia() {
return media;
}
public void setMedia(double media) {
this.media = media;
}
public void mediaaluno(){
this.nome=JOptionPane.showInputDialog("Informe o seu nome? ");
this.materia=JOptionPane.showInputDialog("informe a disciplina? ");
for (int a =1; a<5; a++){
this.nota[a]= JOptionPane.showInputDialog("Forneça a nota do "+a+"º Bimestre: ");
this.noTa[a] = Double.parseDouble(nota[a]);
JOptionPane.showMessageDialog(null,"A nota do " +a+"º bimestre é "+noTa[a]);
}
this.media = (noTa[1]+noTa[2]+noTa[3]+noTa[4])/4;
JOptionPane.showMessageDialog(null, "Olá "+nome+" sua média em "+materia+" é: "+media);
}
}
public class SystemPlay {
public static void main (String[] args){
MediaAluno x = new MediaAluno();
x.mediaaluno();
}
}
Segue o erro.
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at MediaAluno.mediaaluno(MediaAluno.java:47)
at SystemPlay.main(SystemPlay.java:7)