E o desvio padrão também é simples, basta você pegar os valores. Digamos que haja N valores. Então:
a) Some os valores, e ponha essa soma em uma variável S1.
b) Agora ache a média (ou seja, divida S1 por N), e ponha essa média em uma variável M.
c) Uma vez achada a média, faça o seguinte: para cada valor, calcule a diferença entre o valor e a média, e então ache o quadrado dessa diferença. Some todos esses valores obtidos, e ponha essa soma em uma variável S2.
d) Agora divida esse valor S2 por N, e tire a raiz quadrada. O resultado disso é o desvio-padrão.
Por exemplo, digamos que você tenha os seguintes N = 3 valores:
7, 5 e 3
Ache a soma: o valor é 7 + 5 + 3 = 15. Ou seja, S1 = 15.
Agora ache a média. O valor é 15 / 3 = 5. Ou seja, M = 5.
Agora, vamos calcular as diferenças entre o valores dados e a média. Além disso, precisamos elevar ao quadrado (ou seja, multiplicar por ele mesmo) e somar tudo. Ou seja:
(7 - 5) * (7 - 5)
+
(5 - 5) * (5 - 5)
*
(3 - 5) * (3 - 5)
= 4 + 0 + 4 = 8. Ou seja, S2 = 8.
Vamos dividir S2 por 3, e tirar a raiz quadrada. Ou seja:
Math.sqrt (8.0 / 3.0) = 1,63299316185545…
private int numeroAlunos, alunosAcimaDaMedia;
private float mediaTurma;
private Aluno[] turma;
public CalculaMedia(int numeroAlunos) {
this.numeroAlunos = numeroAlunos;
turma = new Aluno[numeroAlunos];
}
public void adquiriNotasDosAlunos() {
float n1, n2, n3;
for (int i = 0; i < this.numeroAlunos; i++) {
n1 = Float.parseFloat(JOptionPane.showInputDialog(null, "Digite a nota 1 do aluno " + (i + 1) + "!"));
n2 = Float.parseFloat(JOptionPane.showInputDialog(null, "Digite a nota 2 do aluno " + (i + 1) + "!"));
n3 = Float.parseFloat(JOptionPane.showInputDialog(null, "Digite a nota 3 do aluno " + (i + 1) + "!"));
turma[i] = new Aluno(n1, n2, n3);
}
calcularMedia();
calcularAlunosAcimaDaMedia();
}
private void calcularMedia() {
float aux = 0;
for (int i = 0; i < numeroAlunos; i++) {
aux = aux + turma[i].getMediaAluno();
}
mediaTurma = aux / numeroAlunos;
}
private void calcularAlunosAcimaDaMedia() {
alunosAcimaDaMedia = 0;
for (int i = 0; i < numeroAlunos; i++) {
if (turma[i].getMediaAluno() > mediaTurma) {
alunosAcimaDaMedia++;
}
}
}
public void mostrarResultadoTurma() {
JOptionPane.showMessageDialog(null, "A média da turma foi: " + mediaTurma + "" +
"\nA quantidade de alunos com nota acima da média foi: " + alunosAcimaDaMedia,
"Informação da Turma", JOptionPane.INFORMATION_MESSAGE);
}
public static void main(String[] args) {
int numeroAlunos = Integer.parseInt(JOptionPane.showInputDialog(null, "Enre com o numero de alunos da Sala!!"));
CalculaMedia m = new CalculaMedia(numeroAlunos);
m.adquiriNotasDosAlunos();
m.mostrarResultadoTurma();
}
//Nome do arquivo : tVetor.java
Public class tVetor {
protected int vet[] = new int [10];
public void recebeValores () {
//Código
int rv;
Scanner entrada = new Scanner(System.in);
System.out.println("Digite os números: ");
for(rv = 0; rv < 10; a++) {
System.out.print((rv+1) + ": ");
vetor[rv] = entrada.nextInt();
}
}
public float calculaMedia () {
//Código
double soma = 0;
double media = 0;
for (int i = 0; i < 10; i++) {
soma += valores[ i ];
}
media = soma / 10;
return media;
}
}
public float caulaDisvioPadrao () {
//Código
}
public float Somatoria () {
//Código
float Somatoria = 0;
for (int I = 0; I < vetor.length; a++)
Somatoria += vetor[I];
return Somatoria;
}
public void mostraValores () {
//Código
int a;
System.out.println("\nOs valores são:\n");
for(a = 0; a < 10; a++) {
System.out.println("Valor: " + (a) + ": " + vetor[a]);
}
}
FÓRMULA de somatoria
soma = soma + vet[a]
raiz quadrada: sqrt (valor)
desvio = sqrt (Somatoria () )
to na duvida no mostar valores, pq eu tava com um otro negocio de java e tinha o mostra valores
mas eu fikei pensando se eu n tinha q xamar o Somatoria aii no metodo mosttrarvalores??
Sim, Kamila… todos os códigos estão feitos já, vide exemplo do camarada acima… só falta um método… pergunto de novo, cadê a fórmula pra gente transformar? Essa fórmula tá errada…