Reports.java

package edu.udel.cis.vsl.tass.util;

import java.io.PrintWriter;

public class Reports {

	public static void printInt(PrintWriter out, int fieldWidth, int value) {
		int valueWidth = width(value);
		int numSpaces = fieldWidth - valueWidth;

		assert (numSpaces >= 0);
		for (int i = 0; i < numSpaces; i++)
			out.print(" ");
		out.print(value);
	}

	public static int width(int a) {
		if (a == 0) {
			return 1;
		} else {
			int width = 0;

			while (a > 0) {
				a = a / 10;
				width++;
			}
			return width;
		}
	}

	public static int maxWidth(int[] a) {
		int max = 0;

		for (int i = 0; i < a.length; i++) {
			int width = width(a[i]);

			if (width > max)
				max = width;
		}
		return max;
	}

	public static int maxWidthSum(int[] a, int[] b) {
		int[] c = new int[a.length];

		for (int i = 0; i < a.length; i++)
			c[i] = a[i] + b[i];
		return maxWidth(c);
	}

	
	
	
	
	
	public static void printInt(PrintWriter out, int fieldWidth, long value) {
		int valueWidth = width(value);
		int numSpaces = fieldWidth - valueWidth;

		assert (numSpaces >= 0);
		for (int i = 0; i < numSpaces; i++)
			out.print(" ");
		out.print(value);
	}

	public static int width(long a) {
		if (a == 0) {
			return 1;
		} else {
			int width = 0;

			while (a > 0) {
				a = a / 10;
				width++;
			}
			return width;
		}
	}

	public static int maxWidth(long[] a) {
		int max = 0;

		for (int i = 0; i < a.length; i++) {
			int width = width(a[i]);

			if (width > max)
				max = width;
		}
		return max;
	}

	public static int maxWidthSum(long[] a, long[] b) {
		long[] c = new long[a.length];

		for (int i = 0; i < a.length; i++)
			c[i] = a[i] + b[i];
		return maxWidth(c);
	}

	
}