Fórum Problemas com array, como mostrar o maior e o menor valor? #569882
14/05/2012
0
Boa tarde galera do fórum, mais uma vez preciso da ajuda de vocês, estou fazendo um código onde um array de 10(dez) posições armazena os valores digitados e da as seguintes saídas:
>> menor número digitado
>> maior número digitado
>> média aritmética dos úmeros digitados
Quanto a média eu consegui fazer, mas na hora de mostrar o maior e o menor , o sistema esta apresentando os números na ordem em que foram digitados e não o menor o maior digitados, postei o código que fiz , se alguém puder me ajudar eu agradeço , abraços.
OBS: estou fazendo o código , usando a interface gráfica do NetBeans, por isso pode parecer um pouco estranho a sintaxe de algumas partes do texto ok
package app_exer6;
/**
*
* @author Pedro
*/
public class NewJFrame extends javax.swing.JFrame {
int vetor[]= new int[10];
int cont;
private void jb_addActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(cont <=vetor.length){
vetor[cont]=Integer.parseInt(jt_numdigitado.getText());
cont++;
}
jt_numdigitado.setText(null);
}
private void jb_exibeActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int media,maior,menor,aux;
media=0;
maior=0;
menor=0;
for (int i=0;i<vetor.length-1;i++) {
if (vetor[i]>vetor[i+1]) {
aux=vetor[i];
vetor[i]=vetor[i+1];
vetor[i]=aux;
}
}
for (int i = 0; i <vetor.length; i++){
media+=vetor[i];
}
media= media/10;
menor=vetor[0];
maior=vetor[9];
jt_media.setText(String.valueOf(media));
jt_maior.setText(String.valueOf(maior));
jt_menor.setText(String.valueOf(menor));
}
private void jb_calculaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
Pedro Ferreira
Curtir tópico
+ 0
Responder
Posts
14/05/2012
Leonardo Silva
Só fiz a lógica, com um código básico:
import java.util.Scanner;
public class Teste {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner teclado = new Scanner(System.in);
long vec[] = new long[10];
long maior = Integer.MIN_VALUE, // Menor valor, porque qualquer valor vai ser maior que ele;
menor = Integer.MAX_VALUE, // Maior valor, porque qualquer valor vai ser menor que ele;
media = 0;
for(int x = 0; x < vec.length; x++){
System.out.println("Digite o " + (x + 1) + "º de " + vec.length + " números:");
vec[x] = teclado.nextLong();
media += vec[x];
if(vec[x] < menor){
menor = vec[x];
}
if(vec[x] > maior){
maior = vec[x];
}
}
System.out.println("O maior número digitado foi: " + maior + ";\n" +
"O menor número digitado foi: " + menor + ";\n" +
"A média dos números digitados foi: " + (media / vec.length) + ".");
}
}
Responder
Gostei + 0
15/05/2012
Pedro Ferreira
[quote="LeoCarmona"]Só fiz a lógica, com um código básico:
OBRIGADO AMIGO, PROBLEMA RESOLVIDO. VALEU MESMO!!!!
import java.util.Scanner;
public class Teste {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner teclado = new Scanner(System.in);
long vec[] = new long[10];
long maior = Integer.MIN_VALUE, // Menor valor, porque qualquer valor vai ser maior que ele;
menor = Integer.MAX_VALUE, // Maior valor, porque qualquer valor vai ser menor que ele;
media = 0;
for(int x = 0; x < vec.length; x++){
System.out.println("Digite o " + (x + 1) + "º de " + vec.length + " números:");
vec[x] = teclado.nextLong();
media += vec[x];
if(vec[x] < menor){
menor = vec[x];
}
if(vec[x] > maior){
maior = vec[x];
}
}
System.out.println("O maior número digitado foi: " + maior + ";\n" +
"O menor número digitado foi: " + menor + ";\n" +
"A média dos números digitados foi: " + (media / vec.length) + ".");
}
}
Responder
Gostei + 0