Wanted the lines to be align. any way to do that?

DISPLAY OUTPUT:


Memory to be allocated: 262Kb , 108Kb , 546Kb , 0Kb , 0kb

| 915Kb | 219Kb | 485Kb | 193Kb | 529kb
| 262Kb | 0Kb | 0Kb | 0Kb | 0kb


Java Code:
// Display Output
System.out.println("Memory to be allocated: "+memAc1 +"Kb , " +memAc2 +"Kb , " +memAc3 +"Kb , " +memAc4 +"Kb , " +memAc5 +"kb \n");
	System.out.println("| "+memA1 +"Kb | " +memA2 +"Kb | " +memA3 +"Kb | " +memA4 +"Kb | " +memA5 +"kb");
	System.out.println("| "+memB[1] +"Kb | " +memB[2] +"Kb | " +memB[3] +"Kb | " +memB[4] +"Kb | " +memB[5] +"kb \n\n");
//	System.out.println("Internal Frag: " +iFragT +" Kb");
	System.out.println("External Fragmentation: " +eFrag1 +" Kb");
    }


Full COde:
Java Code:
import java.security.SecureRandom;
 
public class mainMemory {
    
    public static void main(String[] args)
  	{
	    SecureRandom generator = new SecureRandom();
	    
	    //memory Top Blocks
	    int memA1 = generator.nextInt(999);
	    int memA2 = generator.nextInt(999);
	    int memA3 = generator.nextInt(999);
	    int memA4 = generator.nextInt(999);
	    int memA5 = generator.nextInt(999);
		
		//Memory Bottom Blocks
		int memB1=0, memB2=0, memB3=0, memB4=0, memB5=0;
		int[] memB={0, memB1, memB2, memB3, memB4, memB5};
		
		//Temp mem variable
		int tempA1=0, tempA2=0,tempA3=0, tempA4=0, tempA5=0; 
		int eFrag1=0;
		
	    //Memory Allocation
	    int memAc1 = generator.nextInt(999);
	    int memAc2 = generator.nextInt(999);
	    int memAc3 = generator.nextInt(999);
	    int memAc4 = generator.nextInt(1);
	    int memAc5 = generator.nextInt(1);
	    
	    int[] memAc={memAc1,memAc2,memAc3,memAc4,memAc5};
	    
	    //Memory Block VS memory allocation, the difference
	    if (memAc1<memA1)
	    {
	    	tempA1=memA1-memAc1;		
	    }
	    if (memAc1<memA2)
	    {
	    	tempA2=memA2-memAc1;
	    }	
	    if (memAc1<memA3)
	    {
	    	tempA3=memA3-memAc1;
	    }
	    if (memAc1<memA4)
	    {
	    	tempA4=memA4-memAc1;
	    }
	    if (memAc1<memA5)
	    {
	    	tempA5=memA5-memAc1;
	    }
	
		int tempATotal=tempA1+tempA2+tempA3+tempA4+tempA5;
	    if(tempATotal==0)
	    {
	    	eFrag1=memAc1;
	    }
	            
		//Look for the biggest difference, slot memory allocated in
		int[] myNum={0, tempA1, tempA2, tempA3, tempA4, tempA5};
		int maxIndex = findMax(myNum);
		memB[maxIndex]=memAc1;
	    		
	    //Int Fragmentation	
	//    int iFragT= 0;
	    //Ext Fragmentation
	    int eFragT=eFrag1;
	    
		// Display Output
		System.out.println("Memory to be allocated: "+memAc1 +"Kb , " +memAc2 +"Kb , " +memAc3 +"Kb , " +memAc4 +"Kb , " +memAc5 +"kb \n");
		System.out.println("| "+memA1 +"Kb | " +memA2 +"Kb | " +memA3 +"Kb | " +memA4 +"Kb | " +memA5 +"kb");
		System.out.println("| "+memB[1] +"Kb | " +memB[2] +"Kb | " +memB[3] +"Kb | " +memB[4] +"Kb | " +memB[5] +"kb \n\n");
	//	System.out.println("Internal Frag: " +iFragT +" Kb");
		System.out.println("External Fragmentation: " +eFrag1 +" Kb");
    }
    
    //Finding Maxing value method
    public static int findMax(int[]num)
    {
    	int maxNum=num[0];
    	int index=0;
    	
    	for(int i=0; i<num.length;i++)
    	{
			if(num[i]>maxNum)
			{
				maxNum=num[i];
				index=i;
			}    		
    	}  return index;  
    }
   
}