如何在ASCII(char),ASCII(int)和Hex的特定列下打印我的值

时间:2017-06-24 19:45:58

标签: java alignment

代码显示并转换我需要的值,但它没有显示在正确的列下。它们都在我输入的下面的初始列下打印出来。我输入了K1并正确地打印了ASCII(char), ASCII(int)Hex,我无法弄清楚如何正确对齐它们。我的图像显示了输出示例。

/****************************************************************************
GMUnit3Ch12.java
Melissa Goslin
 *
This program will get input for a string, then output the initial character,
ASCII values of the characters and number, and hex values of each character. 
 ****************************************************************************/
import java.util.Scanner;      // import scanner

public class GMUnit3Ch12 {                      

    public static void main(String[] args) {     // main method

        Scanner stdIn = new Scanner(System.in);  // scanner

        String input;  // user input
        char output;   // variable to print out in initial column
        String values1; // variable used to convert
        String hexString; // converting to hex

        System.out.println("Please enter a string of any length: ");   // ask input from user
        input = stdIn.next();

        System.out.println("\t"); //space to separate
        System.out.println("Initial\tASCII<char>\tASCII<int>\tHex"); // headings 

        for(int i = 0; i < input.length(); i++)
        {
            output = input.charAt(i);
            System.out.println(output);          // prints out input separately in initial column

            if(Character.isDigit(output))    // if/else statement to see if value is a digit
            {
                System.out.println((int)output); // prints out ASCII (int)  
            }
            else
            {
                System.out.println((int)output);  // prints out ASCII (char)
            }

            hexString = Integer.toHexString((int)output);   // converts to hex
            System.out.print(hexString.toUpperCase());     //Prints Hex String in upper case
            System.out.println();
        }

        System.out.println("\nThank you for playing!"); // thanks for playing!
    } // end main
} // end class GMUnit3Ch12[Below is an image of my output][1]

1 个答案:

答案 0 :(得分:0)

您只需使用System.out.print和一些标签字符'\t',如下所示 -

            if(Character.isDigit(output))    // if/else statement to see if value is a digit
            {

                System.out.print("\t\t"+(int)output); // prints out ASCII (int)

            }
            else
            {
                System.out.print("\t\t"+(int)output);  // prints out ASCII (char)
            }

            hexString = Integer.toHexString((int)output);   // converts to hex
            System.out.print("\t\t"+hexString.toUpperCase());     //Prints Hex String in upper case
            System.out.println();
            }