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:

Converting a Stack Trace to a String in Java
Sử dụng Fork/Join Framework với ForkJoinPool trong Java
Hướng dẫn Java Design Pattern – MVC
Java Program to Represent Graph Using Linked List
Wrapper Classes in Java
Java Program to Implement ConcurrentHashMap API
Spring Boot - Flyway Database
Java Program to Implement LinkedHashMap API
Java Program to Compute DFT Coefficients Directly
Tạo số và chuỗi ngẫu nhiên trong Java
Spring MVC and the @ModelAttribute Annotation
Java Program to Find Second Smallest of n Elements with Given Complexity Constraint
Spring Data Reactive Repositories with MongoDB
OAuth2 for a Spring REST API – Handle the Refresh Token in Angular
A Guide to BitSet in Java
Java Program to Use Boruvka’s Algorithm to Find the Minimum Spanning Tree
New Features in Java 11
How to Replace Many if Statements in Java
Java Program to Find Whether a Path Exists Between 2 Given Nodes
Java Program to Construct a Random Graph by the Method of Random Edge Selection
How to Read HTTP Headers in Spring REST Controllers
A Guide to Concurrent Queues in Java
Programmatic Transaction Management in Spring
Basic Authentication with the RestTemplate
Hướng dẫn sử dụng lớp Console trong java
Spring @RequestParam Annotation
Java Program to Generate All Possible Combinations Out of a, b, c, d, e
ExecutorService – Waiting for Threads to Finish
Giới thiệu về Stream API trong Java 8
JUnit5 Programmatic Extension Registration with @RegisterExtension
Java Program to Implement vector
The DAO with Spring and Hibernate