This is the java implementation of classic Bin-Packing algorithm. In the bin packing problem, objects of different volumes must be packed into a finite number of bins or containers each of volume V in a way that minimizes the number of bins used. In computational complexity theory, it is a combinatorial NP-hard problem.

Here is the source code of the Java Program to Implement the Bin Packing Algorithm. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.

`//This is a sample program to illustrate the Bin-Packing algorithm using next fit heuristics`

import java.util.Scanner;

public class Bin_Packing_Algorithm

`{`

public static void binPacking(int []a, int size, int n)

`{`

int binCount=1;

int s = size;

for(int i=0; i<n; i++)

`{`

if(s - a[i] > 0)

`{`

s -= a[i];

continue;

`}`

`else`

`{`

`binCount++;`

s = size;

`i--;`

`}`

`}`

System.out.println("Number of bins required: "+binCount);

`}`

public static void main(String args[])

`{`

System.out.println("BIN - PACKING Algorithm");

System.out.println("Enter the number of items in Set: ");

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();

System.out.println("Enter "+n+" items:");

int []a = new int[n];

for(int i=0; i<n; i++)

a[i] = sc.nextInt();

System.out.println("Enter the bin size: ");

int size = sc.nextInt();

binPacking(a, size, n);

sc.close();

`}`

`}`

Output:

$ javac Bin_Packing_Algorithm.java $ java Bin_Packing_Algorithm BIN - PACKING Algorithm Enter the number of items in Set: 8 Enter 8 items: 4 5 8 3 4 5 1 6 Enter the bin size: 10 Number of bins required: 5

**Sanfoundry Global Education & Learning Series – 1000 Java Programs.**

Here’s the list of Best Reference Books in Java Programming, Data Structures and Algorithms.