lundi 16 avril 2018

How do I make this code more efficient and reasonable?

The objective of this program is nothing more than to display a user input in the format of asterisks (*). For reference I got this exercise from "Big Java Late Objects" P1.6 . It will spell out the text that the user inputs, with the exception of special characters and numbers, using asterisks. I only have it work in netbeans and have not create an application for it and I don't think I will. Just using this as practice. So my biggest concern is the amount of coding I had to do to create the spacing between each asterisk and the amount of asterisks in each row.I had to do this for EACH LETTER and for EACH ROW. 26 letters 5 rows 842 lines of code. It will check each letter and fill the output line with the amount of asterisk and spaces for that row then it will enter a new line and repeat.The amount of spacing and asterisk are different in each row depending on the character that it is on. I feel like there is a better way to do this using for loops and if statements. I cant fit the entire code here so here is part of the code

public static void main(String[] args) {
    while (true) {
        System.out.print("Enter you name here or Enter Q,Quit, or Exit to close the program:");
        Scanner in = new Scanner(System.in);
        String name = in.nextLine();
        if (("q".equals(name)) || ("quit".equals(name)) || ("Quit".equals(name)) || 
                ("exit".equals(name)) || ("Exit".equals(name)) ||
                ("Q".equals(name))){
            System.exit(0);
        }
        int lengthofname = name.length();
        int kd = checkthename(name);
        if (kd > 0) {
            runprogram(name);
        }
    }
}


public static void runprogram(String name) {
    int i = 0;
    //First Row
    while (i < name.length()) {
        char currentletter = name.charAt(i);
        if ((currentletter == 'a') || (currentletter == 'A')) {
            System.out.print("  ");
            twoastrik();
            System.out.print("   ");
            //Space Between letters
            i++;
        } else if ((currentletter == 'b') || (currentletter == 'B')) {
            fiveastrik();
            //Space Between letters
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'c') || (currentletter == 'C')) {
            System.out.print(' ');
            fourastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'd') || (currentletter == 'D')) {
            threeastrik();
            System.out.print("    ");
            i++;
        } else if ((currentletter == 'e') || (currentletter == 'E')) {
            sixastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'f') || (currentletter == 'F')) {
            sixastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'g') || (currentletter == 'G')) {
            System.out.print(' ');
            threeastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'h') || (currentletter == 'H')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'i') || (currentletter == 'I')) {
            sixastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'j') || (currentletter == 'J')) {
            sixastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'k') || (currentletter == 'K')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'l') || (currentletter == 'L')) {
            oneastrik();
            System.out.print("      ");
            i++;
        } else if ((currentletter == 'm') || (currentletter == 'M')) {
            System.out.print("      ");
            i++;
        } else if ((currentletter == 'n') || (currentletter == 'N')) {
            System.out.print("       ");
            i++;
        } else if ((currentletter == 'o') || (currentletter == 'O')) {
            System.out.print("       ");
            i++;
        } else if ((currentletter == 'p') || (currentletter == 'P')) {
            threeastrik();
            System.out.print("    ");
            i++;
        } else if ((currentletter == 'q') || (currentletter == 'Q')) {
            System.out.print("   ");
            threeastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'r') || (currentletter == 'R')) {
            fourastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 's') || (currentletter == 'S')) {
            System.out.print(' ');
            threeastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 't') || (currentletter == 'T')) {
            sixastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'u') || (currentletter == 'U')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'v') || (currentletter == 'V')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'w') || (currentletter == 'W')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'x') || (currentletter == 'X')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'y') || (currentletter == 'Y')) {
            oneastrik();
            System.out.print("   ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'z') || (currentletter == 'Z')) {
            sixastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == ' ')){
            System.out.print("  ");
            i++;
        }
        else {
            i++;
        }
    }

    System.out.print("\n");
    i = 0;
    //Second Row
    while (i < name.length()) {
        char currentletter = name.charAt(i);
        if ((currentletter == 'a') || (currentletter == 'A')) {
            System.out.print(" ");
            oneastrik();
            System.out.print("  ");
            oneastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'b') || (currentletter == 'B')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'c') || (currentletter == 'C')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'd') || (currentletter == 'D')) {
            oneastrik();
            System.out.print("   ");
            oneastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'e') || (currentletter == 'E')) {
            oneastrik();
            System.out.print("      ");
            i++;
        } else if ((currentletter == 'f') || (currentletter == 'F')) {
            oneastrik();
            System.out.print("      ");
            i++;
        } else if ((currentletter == 'g') || (currentletter == 'G')) {
            oneastrik();
            System.out.print("   ");
            oneastrik();
            System.out.print(" ");
            i++;
        } else if ((currentletter == 'h') || (currentletter == 'H')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'i') || (currentletter == 'I')) {
            System.out.print("  ");
            twoastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'j') || (currentletter == 'J')) {
            System.out.print("   ");
            oneastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'k') || (currentletter == 'K')) {
            oneastrik();
            System.out.print("  ");
            oneastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'l') || (currentletter == 'L')) {
            oneastrik();
            System.out.print("      ");
            i++;
        } else if ((currentletter == 'm') || (currentletter == 'M')) {
            System.out.print("      ");
            i++;
        } else if ((currentletter == 'n') || (currentletter == 'N')) {
            twoastrik();
            System.out.print("   ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'o') || (currentletter == 'O')) {
            System.out.print("  ");
            twoastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'p') || (currentletter == 'P')) {
            oneastrik();
            System.out.print("  ");
            oneastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'q') || (currentletter == 'Q')) {
            System.out.print("  ");
            oneastrik();
            System.out.print("  ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'r') || (currentletter == 'R')) {
            oneastrik();
            System.out.print("   ");
            oneastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 's') || (currentletter == 'S')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 't') || (currentletter == 'T')) {
            System.out.print("  ");
            twoastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'u') || (currentletter == 'U')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'v') || (currentletter == 'V')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'w') || (currentletter == 'W')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'x') || (currentletter == 'X')) {
            System.out.print(' ');
            oneastrik();
            System.out.print("  ");
            oneastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'y') || (currentletter == 'Y')) {
            oneastrik();
            System.out.print("   ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'z') || (currentletter == 'Z')) {
            System.out.print("     ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == ' ')){
            System.out.print("  ");
            i++;
        }
        else {
            i++;
        }

    }
    System.out.print("\n");
    i = 0;
    //Third Row
    while (i < name.length()) {
        char currentletter = name.charAt(i);
        if ((currentletter == 'a') || (currentletter == 'A')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'b') || (currentletter == 'B')) {
            fiveastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'c') || (currentletter == 'C')) {
            oneastrik();
            System.out.print("      ");
            i++;
        } else if ((currentletter == 'd') || (currentletter == 'D')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'e') || (currentletter == 'E')) {
            fourastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'f') || (currentletter == 'F')) {
            fourastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'g') || (currentletter == 'G')) {
            oneastrik();
            System.out.print(' ');
            threeastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'h') || (currentletter == 'H')) {
            sixastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'i') || (currentletter == 'I')) {
            System.out.print("  ");
            twoastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'j') || (currentletter == 'J')) {
            oneastrik();
            System.out.print("  ");
            oneastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'k') || (currentletter == 'K')) {
            oneastrik();
            System.out.print(' ');
            oneastrik();
            System.out.print("    ");
            i++;
        } else if ((currentletter == 'l') || (currentletter == 'L')) {
            oneastrik();
            System.out.print("      ");
            i++;
        } else if ((currentletter == 'm') || (currentletter == 'M')) {
            oneastrik();
            System.out.print("   ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'n') || (currentletter == 'N')) {
            oneastrik();
            System.out.print(' ');
            oneastrik();
            System.out.print("  ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'o') || (currentletter == 'O')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'p') || (currentletter == 'P')) {
            threeastrik();
            System.out.print("    ");
            i++;
        } else if ((currentletter == 'q') || (currentletter == 'Q')) {
            System.out.print("   ");
            threeastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'r') || (currentletter == 'R')) {
            fourastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 's') || (currentletter == 'S')) {
            System.out.print("  ");
            oneastrik();
            System.out.print("    ");
            i++;
        } else if ((currentletter == 't') || (currentletter == 'T')) {
            System.out.print("  ");
            twoastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'u') || (currentletter == 'U')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'v') || (currentletter == 'V')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'w') || (currentletter == 'W')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'x') || (currentletter == 'X')) {
            System.out.print("  ");
            twoastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'y') || (currentletter == 'Y')) {
            System.out.print(' ');
            oneastrik();
            System.out.print(' ');
            oneastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'z') || (currentletter == 'Z')) {
            System.out.print("   ");
            oneastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == ' ')){
            System.out.print("  ");
            i++;
        }else {
            i++;
        }

    }
    System.out.print("\n");
    i = 0;
    //Fourth Row
    while (i < name.length()) {
        char currentletter = name.charAt(i);
        if ((currentletter == 'a') || (currentletter == 'A')) {
            sixastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'b') || (currentletter == 'B')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'c') || (currentletter == 'C')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'd') || (currentletter == 'D')) {
            oneastrik();
            System.out.print("   ");
            oneastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'e') || (currentletter == 'E')) {
            oneastrik();
            System.out.print("      ");
            i++;
        } else if ((currentletter == 'f') || (currentletter == 'F')) {
            oneastrik();
            System.out.print("      ");
            i++;
        } else if ((currentletter == 'g') || (currentletter == 'G')) {
            oneastrik();
            System.out.print("   ");
            oneastrik();
            System.out.print(" ");
            i++;
        } else if ((currentletter == 'h') || (currentletter == 'H')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'i') || (currentletter == 'I')) {
            System.out.print("  ");
            twoastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'j') || (currentletter == 'J')) {
            oneastrik();
            System.out.print("  ");
            oneastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'k') || (currentletter == 'K')) {
            oneastrik();
            System.out.print("  ");
            oneastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'l') || (currentletter == 'L')) {
            oneastrik();
            System.out.print("      ");
            i++;
        } else if ((currentletter == 'm') || (currentletter == 'M')) {
            twoastrik();
            System.out.print(' ');
            twoastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'n') || (currentletter == 'N')) {
            oneastrik();
            System.out.print("  ");
            oneastrik();
            System.out.print(' ');
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'o') || (currentletter == 'O')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'p') || (currentletter == 'P')) {
            oneastrik();
            System.out.print("      ");
            i++;
        } else if ((currentletter == 'q') || (currentletter == 'Q')) {
            System.out.print("     ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'r') || (currentletter == 'R')) {
            oneastrik();
            System.out.print("   ");
            oneastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 's') || (currentletter == 'S')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 't') || (currentletter == 'T')) {
            System.out.print("  ");
            twoastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'u') || (currentletter == 'U')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'v') || (currentletter == 'V')) {
            System.out.print(' ');
            oneastrik();
            System.out.print("  ");
            oneastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'w') || (currentletter == 'W')) {
            oneastrik();
            System.out.print(' ');
            twoastrik();
            System.out.print(' ');
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'x') || (currentletter == 'X')) {
            System.out.print(' ');
            oneastrik();
            System.out.print("  ");
            oneastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'y') || (currentletter == 'Y')) {
            System.out.print("  ");
            oneastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'z') || (currentletter == 'Z')) {
            System.out.print(' ');
            oneastrik();
            System.out.print("     ");
            i++;
        }else if ((currentletter == ' ')){
            System.out.print("  ");
            i++;
        } else {
            i++;
        }

    }
    System.out.print("\n");
    i = 0;
    //Final Row
    //Last Row
    //Fifth Rom
    while (i < name.length()) {
        char currentletter = name.charAt(i);
        if ((currentletter == 'a') || (currentletter == 'A')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'b') || (currentletter == 'B')) {
            fiveastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'c') || (currentletter == 'C')) {
            System.out.print(' ');
            fourastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'd') || (currentletter == 'D')) {
            threeastrik();
            System.out.print("    ");
            i++;
        } else if ((currentletter == 'e') || (currentletter == 'E')) {
            sixastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'f') || (currentletter == 'F')) {
            oneastrik();
            System.out.print("      ");
            i++;
        } else if ((currentletter == 'g') || (currentletter == 'G')) {
            System.out.print(' ');
            threeastrik();
            System.out.print("  ");
            i++;
        } else if ((currentletter == 'h') || (currentletter == 'H')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'i') || (currentletter == 'I')) {
            sixastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'j') || (currentletter == 'J')) {
            System.out.print(' ');
            threeastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'k') || (currentletter == 'K')) {
            oneastrik();
            System.out.print("    ");
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'l') || (currentletter == 'L')) {
            sixastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'm') || (currentletter == 'M')) {
            oneastrik();
            System.out.print(' ');
            oneastrik();
            System.out.print(' ');
            oneastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'n') || (currentletter == 'N')) {
            oneastrik();
            System.out.print("   ");
            twoastrik();
            System.out.print(' ');
            i++;
        } else if ((currentletter == 'o') || (currentletter == 'O')) {
            System.out.print("  ");
            twoastrik();
            System.out.print("   ");
            i++;
        } else if ((currentletter == 'p') || (currentletter == 'P')) {
            oneastrik();
            System.out.print("      ");
            i++;

...and so on. Here are the asterisk functions.

public static String oneastrik() {
    System.out.print("*");
    return null;
}

public static String twoastrik() {
    System.out.print("**");
    return null;
}

public static String threeastrik() {
    System.out.print("***");
    return null;
}

public static String fourastrik() {
    System.out.print("****");
    return null;
}

public static String fiveastrik() {
    System.out.print("*****");
    return null;
}

public static String sixastrik() {
    System.out.print("******");
    return null;
}

Aucun commentaire:

Enregistrer un commentaire