Porque não executa, ou pelo menos nao aparece o print do metodo SOMA…
Tenho outra duvida também, como eu faria para fazer uma média? Pois no caso eu iria somar tudo e depois divitir pelo tanto de numero que tenho, como eu faço para saber quantos numero tem? … E ultima duvida, nao entendi direito pra que serve o .length ? Ele soma? Usaria ele entao?
[code]public class CaclculosMatematicos {
static double[] arranjo = { 2.3, 3.9, 1.3, 5.4, 2.5, 9.9, 3.2 };
static double devolveMaior(double[] valores) {
double result = valores[0];
for (int i = 1; i < valores.length; i++) {
if (result < valores[i]) {
result = valores[i];
}
}
System.out.println("Valor Maior: " + result);
return result;
}
static double devolveMenor(double[] valores) {
double result = valores[0];
for (int i = 1; i < valores.length; i++) {
if (result > valores[i]) {
result = valores[i];
}
}
System.out.println("Valor Menor: " + result);
return result;
}
static double soma(double[] valores) {
double result = 0.0;
for (int i = 1; i < valores.length; i++) {
result = +valores[i];
return result;
}
System.out.println("A Soma e: " + result);
return result;
}
public static void main(String[] args) {
devolveMaior(arranjo);
devolveMenor(arranjo);
soma(arranjo);
}
Ele não está somando porque dentro do seu for você está retornando o result sem imprimir. Troque o seu for para for (int i = 1; i < valores.length; i++) {
result += valores[i];
}
O length é o tamanho do array, ou seja, a quantidade de números. Para fazer uma média basta somar todos dentro de um for com um contador, e depois dividir a soma pelo contador. Quase a mesma coisa da soma.
public void displaySeveral( double[] values ){
double sum = 0.0;
int divisor = values.length - 1;
for( int i = 0; i < values.length; i++ )
sum += values[ i ];
System.out.println( "Resulted of the Several = " + ( sum / divisor ) );
}
é executada, o método que a contém é abandonado e as
linhas que estiverem abaixo do return não são executadas.
É por isso que, como foi dito pelo colega bKn, você tem que tirar o return
de dentro do for, pois da maneira que você colocou, apenas o 1º looping
do for é executado.
Quanto a divisão:
Você pode dividir a soma por valores.length para obter a média, já que
esse valores.length representa exatamente o número de lementos somados.
for (int i = 1; i < valores.length; i++) {
result = +valores[i]; // aqui você não está somando. está apenas informado que os valores são positivos.
return result;
}
abraço.