GARANTIR DESCONTO

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

Pedro Ferreira

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:
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) + ".");
	}

}

OBRIGADO AMIGO, PROBLEMA RESOLVIDO. VALEU MESMO!!!!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar