Java Program to Implement Control Table

This Java program is to implement control table. Control tables are tables that control the control flow or play a major part in program control. There are no rigid rules about the structure or content of a control table—its qualifying attribute is its ability to direct control flow in some way through “execution” by a processor or interpreter. The design of such tables is sometimes referred to as table-driven design.
In perhaps its simplest implementation, a control table may sometimes be a one-dimensional table for directly translating a raw data value to a corresponding subroutine offset, index or pointer using the raw data value either directly as the index to the array, or by performing some basic arithmetic on the data beforehand.

Here is the source code of the Java program to implement control table. The Java program is successfully compiled and run on a Linux system. The program output is also shown below.

import java.util.HashMap;
import java.util.Map;
 
public class ControlTable
{
    private Map<String,Integer> controlTable;
 
    public ControlTable()
    {
        controlTable = new HashMap<String,Integer>(); 
        populateTable();
    }
 
    public int[] controlTable(int[] asciiCodes)
    {
        int[] index = new int[asciiCodes.length];
        for (int val = 0; val < asciiCodes.length; val++)
        {
            index[val] = controlTable.get(Integer.toHexString(asciiCodes[val]));
        }
        return index;
    }
 
    private void populateTable()
    {
        controlTable.put(Integer.toHexString(65), 01);
        controlTable.put(Integer.toHexString(68), 04);
        controlTable.put(Integer.toHexString(77), 03);
        controlTable.put(Integer.toHexString(83), 02);
    }
 
    public static void main (String...arg)
    {
        int[] asciiCodes = new int[4];
        int[] tableOutput;
        asciiCodes [0] = (int) 'A';
        asciiCodes [1] = (int) 'D';
        asciiCodes [2] = (int) 'M';
        asciiCodes [3] = (int) 'S';
 
        ControlTable controlTable = new ControlTable();
        tableOutput = controlTable.controlTable(asciiCodes);
 
        System.out.println("Input values ");
        System.out.print("( ");
        for (int i = 0; i < asciiCodes.length; i++)
        {
            System.out.print((char)asciiCodes[i] + " ");	
        }
        System.out.print(")\n");
 
        System.out.println("New Index from Control table");
        System.out.print("( ");
        for (int i = 0; i < tableOutput.length; i++)
        {
            System.out.print(tableOutput[i] + " ");
        }
        System.out.print(")");
    } 	
}
$javac ControlTable.java
$java ControlTable
Input values 
( A D M S )
New Index from control table
( 1 4 3 2 )

Related posts:

Java Program to Check Whether Topological Sorting can be Performed in a Graph
Sử dụng Fork/Join Framework với ForkJoinPool trong Java
Java Program to Implement PriorityBlockingQueue API
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers
Introduction to Java 8 Streams
Spring Cloud – Adding Angular
Hướng dẫn Java Design Pattern – Null Object
Java Program to Implement Variable length array
REST Pagination in Spring
Automatic Property Expansion with Spring Boot
Java Program to Find Nearest Neighbor for Dynamic Data Set
Spring Data JPA and Null Parameters
Java Program to Solve Travelling Salesman Problem for Unweighted Graph
Java Program to Compute the Area of a Triangle Using Determinants
Java Program to Implement a Binary Search Tree using Linked Lists
Java Program to Implement Adjacency Matrix
Java Program to Apply DFS to Perform the Topological Sorting of a Directed Acyclic Graph
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Hướng dẫn Java Design Pattern – Transfer Object
Spring Boot - Eureka Server
Lớp LinkedHashMap trong Java
A Guide to Java HashMap
Apache Camel with Spring Boot
Java Program to Implement Bresenham Line Algorithm
How to Get a Name of a Method Being Executed?
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Converting between an Array and a List in Java
Spring Web Annotations
A Quick Guide to Spring Cloud Consul
Guide to ThreadLocalRandom in Java
The StackOverflowError in Java
Practical Java Examples of the Big O Notation