Boa tarde,
Alguém poderia me tirar uma dúvida ? deu em branco e não estou conseguindo ver o erro. Na classe abaixo o usuário deve digitar a altura e esta altura deve aparecer na tela antes do cálculo da média, e não estou conseguindo armazená-la(os cálculos finais são apresentados.
Abs,
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class Alunos
{
String alunos[] = new String[6];
double altura[] = new double[6];
int sexo;
int i;
double maiorAlt = 0;
double menorAlt = Double.MAX_VALUE;
double media = 0, somaAltura = 0;
public void insereInfo()
{
for(i = 0 ; i < alunos.length - 1 ; i++)
{
String nome = "Digite o nome do aluno";
String alt = "Digite a altura";
String sex = "Digite:\n 1 - para sexo Masculino\n 2 - para sexo feminino";
alunos[i] = JOptionPane.showInputDialog(null,nome);
altura[i] = Double.parseDouble(JOptionPane.showInputDialog(null,alt));
somaAltura += altura[i];
sexo = Integer.parseInt(JOptionPane.showInputDialog(null,sex));
}
JTextArea outputTextArea = new JTextArea();
JTextArea outputTextArea1 = new JTextArea();
outputTextArea.setText("Indice\tNome\tAltura\tSexo\n");
for(i = 0 ; i < alunos.length - 1 ; i++)
{
outputTextArea.append(i + "\t" + alunos[i] + "\t" + altura[i] + "\t" + sexo + "\n");
}
JOptionPane.showMessageDialog(null,outputTextArea,"Demonstrativo 1",
JOptionPane.INFORMATION_MESSAGE);
for(i = 0 ; i < alunos.length - 1 ; i++)
{
if(altura[i] > maiorAlt)
{
maiorAlt = Math.max(maiorAlt,altura[i]);
}
}
for(i = 0 ; i < alunos.length - 1 ; i++)
{
if(altura[i] < menorAlt)
{
menorAlt = Math.min(menorAlt,altura[i]);
}
}
double media = somaAltura/i;
JOptionPane.showMessageDialog(null,"Maior altura: " + maiorAlt + "\n"
+ "Menor altura: " + menorAlt + "\n" + "Altura média: " + media + "\n");
System.exit(0);
}
}
public class AlunosTest
{
public static void main( String[] args )
{
Alunos executa = new Alunos();
executa.insereInfo();
}
}