Sou iniciante em JAVA, e uma das coisas que mais odeio em programação é VETOR/ARRAY.
Estou com um exercício da faculdade para fazer.
Segue o código:
packageFEUC;importjava.util.Scanner;publicclassExerc4{/* Escreva um programa que calcula o máximo, * o mínimo, a soma e a média de um conjunto * de valores inteiros. O número de valores a * introduzir deve ser também pedido ao utilizador. */publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);int[]valores=newint[5];// vetor de 5 posiçõesintmaximo=0;intminimo=0;intsoma;doublemedia;inti;for(i=0;i<5;i++){System.out.println("Informe o valor do "+(i+1)+"º valor: ");valores[i]=scan.nextInt();}}}
Minha dificuldade é fazer a comparação entre os valores de um único array.
O usuário vai entrar com 5 valores, e estes serão guardados no vetor.
Destes 5 valores, quero saber o maior e o menor, fazer a soma e a média.
Segue abaixo o enunciado:
/* Escreva um programa que calcula o máximo,
* o mínimo, a soma e a média de um conjunto
* de valores inteiros. O número de valores a
* introduzir deve ser também pedido ao utilizador. */
Abs,
Rodrigo_Sasaki
Sabe comparar valores? maior, maior ou igual… coisas assim?
juliomendes90
Sim!
fabiocortolan
Faça mais um laço no seu sistema percorrendo o vetor e comparando os números, dentro do laço vc tbm pode fazer a soma dentro deste mesmo laço e qdo for mostrar o resultado calcula a média, simples assim!
juliomendes90
Olhem como eu fiz:
packageFEUC;importjava.util.Scanner;publicclassExerc4{/* Escreva um programa que calcula o máximo, * o mínimo, a soma e a média de um conjunto * de valores inteiros. O número de valores a * introduzir deve ser também pedido ao utilizador. */publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);int[]valores=newint[5];// vetor de 5 posiçõesintmaior=0;intmenor=0;intsoma;doublemedia;inti;for(i=0;i<5;i++){System.out.println("Informe o valor do "+(i+1)+"º valor: ");valores[i]=scan.nextInt();}if((valores[1]>valores[2])&&(valores[1]>valores[3])&&(valores[1]>valores[4])&&(valores[1]>valores[5])){maior=valores[1];System.out.println("O maior valor é "+valores[1]);}if((valores[2]>valores[1])&&(valores[2]>valores[3])&&(valores[2]>valores[4])&&(valores[2]>valores[5])){maior=valores[2];System.out.println("O maior valor é "+valores[2]);}if((valores[3]>valores[1])&&(valores[3]>valores[3])&&(valores[3]>valores[4])&&(valores[3]>valores[5])){maior=valores[3];System.out.println("O maior valor é "+valores[3]);}if((valores[4]>valores[1])&&(valores[4]>valores[2])&&(valores[4]>valores[3])&&(valores[4]>valores[5])){maior=valores[4];System.out.println("O maior valor é "+valores[4]);}if((valores[5]>valores[1])&&(valores[5]>valores[2])&&(valores[5]>valores[3])&&(valores[5]>valores[4])){maior=valores[5];System.out.println("O maior valor é "+valores[5]);}if((valores[1]<valores[2])&&(valores[1]<valores[3])&&(valores[1]<valores[4])&&(valores[1]<valores[5])){menor=valores[1];System.out.println("O menor valor é "+valores[1]);}if((valores[2]<valores[1])&&(valores[2]<valores[3])&&(valores[2]<valores[4])&&(valores[2]<valores[5])){menor=valores[2];System.out.println("O menor valor é "+valores[2]);}if((valores[3]<valores[1])&&(valores[3]<valores[3])&&(valores[3]<valores[4])&&(valores[3]<valores[5])){menor=valores[3];System.out.println("O menor valor é "+valores[3]);}if((valores[4]<valores[1])&&(valores[4]<valores[2])&&(valores[4]<valores[3])&&(valores[4]<valores[5])){menor=valores[4];System.out.println("O menor valor é "+valores[4]);}if((valores[5]<valores[1])&&(valores[5]<valores[2])&&(valores[5]<valores[3])&&(valores[5]<valores[4])){menor=valores[5];System.out.println("O menor valor é "+valores[5]);}media=(valores[1]+valores[2]+valores[3]+valores[4]+valores[5])/5;soma=(valores[1]+valores[2]+valores[3]+valores[4]+valores[5]);System.out.println("A média dos valores é "+media+" e a soma dos valores é "+soma);}}
Tem como melhorar?
Abs,
fabiocortolan
juliomendes90:
Olhem como eu fiz:
Tem como melhorar?
Com certeza tem:
publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);int[]valores=newint[5];// vetor de 5 posições intmaior=0;intmenor=0;intsoma;doublemedia;for(inti=0;i<5;i++){System.out.println("Informe o valor do "+(i+1)+"º valor: ");valores[i]=scan.nextInt();}// Add os primeiros valores às variáveismenor=valores[0];maior=valores[0];for(inti=0;i<valores.length();i++){soma+=valores[i];//soma os valoresif(menor>valores[i])menor=valores[i];// Verifica e add o menor valorif(maior<valores[i])maior=valores[i];// Verifica e add o maior valor}// Calcula a médiamedia=soma/valores.length;// print para mostrar os valores, soma e média...}
Uma obs, vc pode declarar o “int i” diretamente dentro do laço for, é uma variável a menos no scopo do método.
ViniGodoy
Por favor, não abuse do CAPS LOCK no título das suas mensagens.
juliomendes90
fabiocortolan:
juliomendes90:
Olhem como eu fiz:
Tem como melhorar?
Com certeza tem:
publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);int[]valores=newint[5];// vetor de 5 posições intmaior=0;intmenor=0;intsoma;doublemedia;for(inti=0;i<5;i++){System.out.println("Informe o valor do "+(i+1)+"º valor: ");valores[i]=scan.nextInt();}// Add os primeiros valores às variáveismenor=valores[0];maior=valores[0];for(inti=0;i<valores.length();i++){soma+=valores[i];//soma os valoresif(menor>valores[i])menor=valores[i];// Verifica e add o menor valorif(maior<valores[i])maior=valores[i];// Verifica e add o maior valor}// Calcula a médiamedia=soma/valores.length;// print para mostrar os valores, soma e média...}
Uma obs, vc pode declarar o “int i” diretamente dentro do laço for, é uma variável a menos no scopo do método.
Valeu amigo, obrigado.
juliomendes90
Beleza, obrigado. Até então, não sabia dessa regra. Abs,