Bem eu tenho que fazer um trabalho na faculdade e sempre está dando erro no Array fiz algumas alterações e piorou tudo …
Vou falar como é ± o programa:
O sistema será executado e aparecerá a tela para informar a quantidade de alunos que deseja cadastrar; então terá que abrir a tela para digitar o nome do aluno -> em seguida o sistema gera a matricula e aparece uma tela com uma das 4 materias já vem no sistema para digitar a 1ª nota , depois a 2ª até a 4ª notada respectiva matéria, e fazer até a última matéria. em seguida informar a quantidade de aulas por materia e as falta do aluno apos digitar tudo ele gera as médias com a mensagem se o aluno passou, se reprovado informa se foi por nota ou por falta…
O pacote aluno possui as classes: Aluno e Programa;
O pacote menu somente a classe Menu.
[code][color=olive][/color]
package aluno;
import aluno.;
import javax.swing.JOptionPane;
import menu.;
public class Programa {
/**
* @param args
*/
public static void main (String []args) {
Menu menu = new Menu();
Aluno aluno = new Aluno();
aluno.materia();
//aluno.qtdAluno();
//menu.MenuPrograma();
//menu.MenuPrograma();
}
}
[code]
package aluno;
import javax.swing.JOptionPane;
import menu.*;
import aluno.Programa;
public class Aluno {
/**
* Responsável por armazenar a quantidade de alunos para cadastro.
* @name qtdAluno[]
* @acess public
* @type string[]
*
*/
public String nome[] =new String[5];
public int matricula = 0;
public String materia[] = { matematica, ciencias,estudossociais};
public float nota[][] = new float [10][10];
public float media[][] = new float[10][10];
public float diaAula[] = new float[4];
public float frequencia[] = new float[4];
public float diaFalta[] = new float[4];
public float falta []= new float [4];
public int qtdAluno = 0;
public float total;
int c, n,i,m =0;
public int qtdAluno(){
qtdAluno = Integer.parseInt(JOptionPane.showInputDialog
("Digite a quantidade de alunos para cadastro"));
c = qtdAluno;
System.out.println("Quantidade "+c);
if(qtdAluno == 0){
JOptionPane.showMessageDialog(null, "Quantide inválida");
qtdAluno();
}
else {
}
return c;
}
public String cadastraAluno(){
for(c=1; c<=qtdAluno; c++) {
nome[c] = JOptionPane.showInputDialog("Digite o nome do aluno. ");
matricula = c;
}
System.out.println("matricula " +matricula + "nome " +nome[c]);
materia[c] += (materia[c]+ "portugues");
System.out.println(nome[c]);
return null;
}
public String[] materia(){
for(m =0; m<=4; m++){
System.out.println("MATERIAS: "+materia[m]);
}
return materia();
}
public String relatorio (){
for(c=1; c<=2; c++){
for(m=1; m<=4; m++){
JOptionPane.showMessageDialog
(null,"nome aluno\n"+nome[c]+ "matricula\n"+matricula +"media\n" +media[i] +"\nmaterias:\n" +materia[m]);
}
}
return null;
}
public String sair(){
JOptionPane.showMessageDialog(null,"Fim do programa");
return sair();
}
public boolean frequencia(){
System.out.println("inicio frequencia.");
for ( c = 0; c <qtdAluno; c++) {
diaAula[i] = Float.parseFloat(JOptionPane.showInputDialog("digite o total de aulas do aluno ? "));
falta[i] = Float.parseFloat(JOptionPane.showInputDialog("digite o total de faltas do aluno ? "));
frequencia[i] = (float)(diaAula[i] * 0.75);
diaFalta[i] = diaAula[i] - falta[i];
System.out.println("frequencia" +frequencia);
System.out.println("diaFalta" +diaFalta[i]);
}
if(diaFalta[i] <= frequencia[i]) {
System.out.println("Aluno reprovado.");
return false;
}
else
{
System.out.println("Aluno aprovado.");
return true;
}
}
public boolean aprovacao (){
for ( i = 0; i <2; i++){
if ((media[i][c] == 6) && (frequencia() == false)) {
System.out.println("Reprovado por faltas");
return false;
} else
if ((media[i][c] <6 ) && (frequencia() == true)){
System.out.println("aprovado");
return true;
}
else
if (frequencia()== true) {
System.out.println("reprovado por nota");
return false;
} else {
System.out.println("Reprovado por faltas e notas.");
return true;
}
}
return false;
}
}
[code]
package menu;
import javax.swing.JOptionPane;
import aluno.*;
public class Menu {
public int opcao =0;
Aluno al = new Aluno();
public String MenuPrograma(){
opcao = Integer.parseInt(JOptionPane.showInputDialog
( "--SISPRO-- MENU OPCÕES:\n1-CADASTRA;\n2-SAIR;\n3-relatorio.\n digite sua opcao."));
while (opcao !=0){
switch (opcao) {
case 1:
if (al.qtdAluno() == 0){
al.qtdAluno();
}
else {
al.materia();
//al.mediaAluno();
al.frequencia();
al.aprovacao();
MenuPrograma();
}
break;
case 2:
//al.sair();
return al.sair();
case 3:
int resp = 0;
//al.relatorio();
resp = Integer.parseInt
(JOptionPane.showInputDialog("Deseja Voltar ao Menu?\n 1-SIM\n 2-NÃO: "));
if (resp == 1) {
MenuPrograma();
//break;
}
else {
return al.sair();
}
break;
default:
JOptionPane.showMessageDialog(null, "Valor invalido, Tente novamente.");
return MenuPrograma();
}
}
return null;
}
/*public int converterString(String qtdAluno){
int num =0;
try{
num = Integer.parseInt(qtdAluno);
}catch(NumberFormatException e){
JOptionPane.showMessageDialog(null, “Campo apenas numerico”);
MenuPrograma();
}
return null;*/
}[/code]
[color=olive][/color]
[color=red][/color]
Erro
[code]
Java.lang.Error: Unresolved compilation problems:
matematica cannot be resolved
ciencias cannot be resolved
estudossociais cannot be resolved
at aluno.Aluno.<init>(Aluno.java:22)
at menu.Menu.<init>(Menu.java:12)
at aluno.Programa.main(Programa.java:13)
Exception in thread “main”
[/code][color=orange][/color]