[RESOLVIDO] Código Mediana

Estou com um problema, quando os valores pedidos são PARES, a mediana não está dando o valor correto ela não esta somando os dois valores centrais e dividindo, alguém poderia ajudar com este erro no código?

import java.util.Arrays;
import java.util.Scanner;


public class Principal {

	public static void main(String[] args) {
		Vetor lista[] = new Vetor[100];
		int op, fim=0;
		float val;
		Scanner get = new Scanner(System.in);
		do
		{
			System.out.println(">> MENÚ PRINCIPAL <<");
			System.out.println("\n1.Dados Discretos");
			System.out.println("2.Dados Contínuos");
			System.out.println("3.Sair");
			System.out.print("\nDigite a opção -> ");
			op = get.nextInt();
			switch (op)
			{
			
			case 0:  
			if (fim==5)
						System.out.print("Lista cheia!!");
					else
						lista[fim++] = new Vetor();
			        break;
			        
			case 1: System.out.println("\n>> DADOS DISCRETOS <<");
				System.out.println("\nDigite a QTD de valores: ");
                    float tam = get.nextFloat();
				
				int vetor[] = new int[(int) tam];
		        float media = 0;
		        float mediana = 0;
		        int aux = 0,j;
		        
		        
		        for (int i = 0; i < tam; i++) {
		            System.out.println("\nInsira um valor no vetor: ");
		            vetor[i] = get.nextInt();
		            media = media + vetor[i];
		        }
		        
		        media = media/tam;
		        System.out.println("A media dos valores é: "+ media);
		        
		        if( tam % 2 == 0 )//par
		        {	
			        for(int i = 0;i<tam;i++)
			         for(j=i+1;j<tam;j++)
			        	 if(vetor[j]<vetor[i])
			        	 {
			        		 aux=vetor[i];
			        		 vetor[i]=vetor[j];
			        		 vetor[j]=aux;
			        	 }
			        //mediana = vetor [vetor.length/2];
			        //********************************
			        int	meio, meio1, meio2 ;
			        meio1 = vetor[vetor.length/2];
			        meio2 = meio1-1;			        
			        meio = (meio1 + meio2 ) /2;			        
			        mediana = meio;			        
			        //*******************************
			        
		        }    
		        else
		        {
		        	for(int i = 0;i<tam;i++)
				         for(j=i+1;j<tam;j++)
				        	 if(vetor[j]<vetor[i])
				        	 {
				        		 aux=vetor[i];
				        		 vetor[i]=vetor[j];
				        		 vetor[j]=aux;
				        	 }
		        	int esq=0;
		        	int dir=vetor.length-1;
		        	int meio;
		        	meio=(esq+dir)/2;
		        	mediana = vetor[meio]; 
		        }
		        System.out.println("A mediana é de: "+mediana);
		        System.out.println(Arrays.toString(vetor));
			        break;
			case 2: 
							break;
					
			}
		} while (op!=3);
		
	}

}
1 curtida

quem sabe vc não faz assim:

gente, a mediana é definida por : …

ai eu entro esses dados: 1,9, biscoito, batman, 666

e sai x e eu queria y

pq na BOUA eu não lembro mais o que mediana e se eu tiver q ir no google pra ver isso, vc tb pode ir… portanto nos ajude a te ajudar

bah…se não sabe não precisaria nem ter escrito nada…

1 curtida

eu não tenho a obrigação de saber. ja vc precisa saber

Você é retardado ou o que? eu disse que você tem obrigação de alguma coisa? coloquei uma dúvida pra que alguém que saiba possa me ajudar, se você sabe não deveria nem ter se manifestado.

Eu mesmo resolvi, vlw pela não ajuda de todos!

Baddo, creio que você estava irritado por dar essa reposta Peczenyj , e na boa o cara não lembrava era so vce explicar e seria dado lhe o caminho.
Mais que bom que resolveu, agora você ja sabe como fazer.

Você é outro que não precisava postar nada.