Need Programming Assignment Help?

Get Help with Programming Assignment in Java, C/C++, Dot Net, PHP, Database and UML Diagrams

Java Program to implement Bit Matrix

Java Program to implement Bit Matrix

Java Program to implement Bit Matrix – This section of Java Programming Example covers simple java program to implement Bit Matrix.

 import java.util.Scanner;
 import java.util.BitSet;

/** class bit Matrix */
 class BitMatrix
 {
 private BitSet[] bitArr;

/** constructor **/
 public BitMatrix(int rows, int cols)
 {
 bitArr = new BitSet[rows];
 for (int i = 0; i < rows; i++)
 bitArr[i] = new BitSet(cols);
 }
 /** function to clear **/
 public void clear()
 {
 int rows = bitArr.length;
 int cols = bitArr[0].size();
 bitArr = new BitSet[rows];
 for (int i = 0; i < rows; i++)
 bitArr[i] = new BitSet(cols);
 }
 /** function to clear a particular row **/
 public void clear(int r)
 {
 bitArr[r].clear();
 }
 /** function to clear a particular bit **/
 public void clear(int r, int c)
 {
 bitArr[r].clear(c);
 }
 /** function to get a particular bit **/
 public boolean get(int r, int c)
 {
 return bitArr[r].get(c);
 }
 /** function to set a particular bit **/
 public void set(int r, int c)
 {
 bitArr[r].set(c);
 }
 /** function to OR two rows **/
 public void or(int r1, int r2)
 {
 bitArr[r1].or(bitArr[r2]);
 }
 /** function to And two rows **/
 public void and(int r1, int r2)
 {
 bitArr[r1].and(bitArr[r2]);
 }
 /** function to XOR two rows **/
 public void xor(int r1, int r2)
 {
 bitArr[r1].xor(bitArr[r2]);
 }
 /** function to display bitset */
 public void display()
 {
 System.out.println("\nBit Matrix : ");
 for (BitSet bs : bitArr)
 System.out.println(bs);
 System.out.println();
 }
 }

/** BitMatrixTest **/
 public class BitMatrixTest
 {
 public static void main(String[] args)
 {
 Scanner scan = new Scanner(System.in);
 System.out.println("Bit Matrix Test\n");

System.out.println("Enter row and column dimensions");
 BitMatrix bm = new BitMatrix(scan.nextInt(), scan.nextInt() );

char ch;
 /* Perform Bit Matrix operations */
 do
 {
 System.out.println("\nBit Matrix Operations\n");
 System.out.println("1. or ");
 System.out.println("2. and");
 System.out.println("3. xor");
 System.out.println("4. clear");
 System.out.println("5. set");
 System.out.println("6. get");

int choice = scan.nextInt();
 switch (choice)
 {
 case 1 :
 System.out.println("Enter row1 and row2 to OR");
 bm.or(scan.nextInt(), scan.nextInt() );
 break;
 case 2 :
 System.out.println("Enter row1 and row2 to AND");
 bm.and(scan.nextInt(), scan.nextInt() );
 break;
 case 3 :
 System.out.println("Enter row1 and row2 to XOR");
 bm.xor(scan.nextInt(), scan.nextInt() );
 break;
 case 4 :
 System.out.println("\nBit matrix Cleared");
 bm.clear();
 break;
 case 5 :
 System.out.println("Enter row and column to set bit");
 bm.set(scan.nextInt(), scan.nextInt() );
 break;
 case 6 :
 System.out.println("Enter row and column to get bit status");
 System.out.println("\nStatus : "+ bm.get(scan.nextInt(), scan.nextInt()));
 break;
 default :
 System.out.println("Wrong Entry \n ");
 break;
 }
 bm.display();

System.out.println("\nDo you want to continue (Type y or n) \n");
 ch = scan.next().charAt(0);
 } while (ch == 'Y'|| ch == 'y');
 }
 }