CCCPaste
import java.util.Scanner;

public class CovidCasesProgram {
    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        int states = 2;
        int days = 7;

        String[] stateName = new String[states];
        int[][] cases = new int[states][days];
        int[] stateTotal = new int[states];
        int overallTotal = 0;

        // Read input
        for (int i = 0; i < states; i++) {
            System.out.print("Enter name of State " + (i + 1) + ": ");
            stateName[i] = input.nextLine();

            System.out.println("Enter daily cases for " + stateName[i]);
            for (int j = 0; j < days; j++) {
                cases[i][j] = input.nextInt();
                stateTotal[i] += cases[i][j];
            }
            input.nextLine(); // clear buffer
            overallTotal += stateTotal[i];
        }

        // Print Table
        System.out.println("\nCOVID-19 CASES SUMMARY TABLE");
        System.out.println("---------------------------------------------------------------");
        System.out.printf("%-12s", "State");
        for (int d = 1; d <= days; d++) System.out.printf("D%-4d", d);
        System.out.printf("%-8s %-10s\n", "Total", "Percent");
        System.out.println("---------------------------------------------------------------");

        for (int i = 0; i < states; i++) {
            double percentage = (double) stateTotal[i] / overallTotal * 100;
            System.out.printf("%-12s", stateName[i]);
            for (int j = 0; j < days; j++) System.out.printf("%-5d", cases[i][j]);
            System.out.printf("%-8d %-9.2f%%\n", stateTotal[i], percentage);
        }

        System.out.println("---------------------------------------------------------------");
        System.out.println("Overall Total Cases = " + overallTotal);

        // Line graph
        System.out.println("\nLINE GRAPH (Percentage of Cases)");
        for (int i = 0; i < states; i++) {
            double percentage = (double) stateTotal[i] / overallTotal * 100;
            int stars = (int) Math.round(percentage / 2); // scale for visibility
            System.out.printf("%-12s | ", stateName[i]);
            for (int s = 0; s < stars; s++) System.out.print("*");
            System.out.printf(" %.2f%%\n", percentage);
        }

        input.close();
    }
}