Io sto svolgendo un piccolo programma in java sul calcolo della Media Campionaria, ma ho un problema..

Il programma dovrebbe fermarsi quando la Media dei Campioni risulta uguale alla Media della Popolazione.. e così fà!
L'unico problema è nel calcolo della Media dei Campioni: ho fatto varie prove ma non capisco come mai mi stampa sempre la Media della Popolazione, eppure dovrebbe essere giusto

* il problema dovrebbe essere nell'ultimo for "grande" *

codice:
package Calcolo;

import java.io.*;
import java.math.*;
public class Main {

public static void main(String[] args) {
    boolean start = true;
    //POPOLAZIONE
    //variabile che rappresent agli elementi
    //che compongono la popolazione
    //indicheremo la popolazione con p

    int p=6;
    //la media della popolazione dichiarandola
    double media_p=0;
    //somma dei valori per la media della pop μ
    double somma_media_p=0;

    //CAMPIONE
    //grandezza del campione
    int campione=2;
    // la media del campione dichiarandola
    double media_campione=0;
    //somma dei calori per la media del campione
    double somma_medie_campione=0;

    //SIGMA
    //la deviazione della popolazione
    double sigmax=0;
    // somma per calcolare la deviazione
    double somma_sigmax=0;

    //creo un vettore e una matrice dove andrò ad inserire i miei valori
    //creati con la funzione random
    double  vett_p[] = new double[p];

    vett_p[0] = 162;
    vett_p[1] = 165;
    vett_p[2] = 171;
    vett_p[3] = 173;
    vett_p[4] = 175;
    vett_p[5] = 178;

    double matrice_campion[][]=new double [p][p];

    System.out.println("ESERCIZIO: Verificare che la media campionaria corrisponda con la media della popolazione.");
    System.out.println("\n\n\n- Vettore della popolazione:");


    
    //CICLO PER CREARE IL VETTORE CHE ANDRà A RAPPRESENTARE LA POPOLAZIONE
    for(int a=0; a<p; a++) {
        double num=0;
        int num_double=0;

        //num=Math.random();
        //num=(num*10)+1;
        //num_double=(int) num;
        //vett_p[a]=num_double;
        //visualizzo il valore

        System.out.print("[ "+vett_p[a]+" ] ");
        somma_media_p=somma_media_p+vett_p[a];
    }

    System.out.println();
    media_p=somma_media_p/p;
    System.out.println(" ");
    
    //ORA POSSIAMO ANDARCI A CALCOLARE LA MEDIA DELLA POPOLAZIONE
    //METTO LA LETTERA M COME INDICAZIONE
    //PER INDICARE LA MEDIA

    System.out.println("- La Media della popolazione è: " +media_p);
    
    for(int b=0; b<p;b++) {
        somma_sigmax=somma_sigmax+Math.pow((vett_p[b]+media_p),4);
    }

    sigmax=somma_sigmax/p;
    System.out.println("- La deviazione è: " +sigmax);
    System.out.println(" ");

    System.out.println("\n\n-- VALORI DEL CAMPIONE --\n\n");
    //CREIAMO UNA MATRICE CON I VALORI DELLA MEDIA CAMPIONARIA
    
        for(int c=0;c<p;c++) {
            while (start == true){
                System.out.println(" ");
                System.out.print("- La Matrice delle medie campionarie:\n");

                for(int d=0; d<p;d++) {
                    matrice_campion[c][d]=((vett_p[c]+vett_p[d])/campione);
                    System.out.print("["+matrice_campion[c][d]+"] ");
                }

                System.out.println(" ");
                for(int e=0; e<p; e++) {
                    for(int d=0;d<p;d++) {
                        matrice_campion[e][d]=(vett_p[e]+vett_p[d])/campione;
                        somma_medie_campione=(vett_p[e]+vett_p[d])/2 + somma_medie_campione;
                    }
                }

                media_campione=somma_medie_campione/(p*p);
                System.out.println("\nLa relativa media del campione è: "+media_campione +"\n");



                if(media_campione == media_p) {
                    //CONCLUSIONI SE LA MEDIA DEL CAMPIONE RISULTA UGUALE ALLA MEDIA DELLA POPOLAZIONE

                    System.out.println(" ");
                    System.out.println("\n\n-- POSSIAMO QUINDI TRARRE LE CONCLUSIONI --\n");
                    System.out.println("Dopo aver calcolato la media della popolazione " +media_p+" \ne la media del campione "+media_campione+",");
                    System.out.println("possiamo dire che abbiamo verificato la nostra ipotesi,");
                    System.out.println("in quanto la media della popolazione corrisponde  con la media del campione!");

                    start = false;
                }
            }
        }
    }
}
Grazie!