带有用户输入的Java Mirror程序

时间:2017-09-28 22:05:22

标签: java mirror

我做了一个简单的镜像程序,现在我被要求修改它。

起初我使用静态值进行大小调整。现在我需要使用用户输入进行大小调整。

到目前为止,这是我所拥有的,但我不知道该怎么做。 如果有人能提供帮助,那就太棒了。

我得到的用户输入应该用于大小。

另外,我需要创建一个名为printspaces()的方法,该方法接受一个参数,用于打印多少空格并使用它来打印空格。

创建一个名为printdots()的方法,该方法获取一个参数,用于打印多少个点并使用它来打印点。

我需要删除哪些代码才能添加printdots和printspaces?

谢谢

package stackoverflow;

import java.util.Scanner;

public class Mirror_2 {
    public static void main(String[] args) {
        line(0);
        top(0);
        bottom(0);
        line(0);
        int SIZE;

        Scanner Console = new Scanner(System.in);
        System.out.print("Please enter Size: ");
        int SIZE1 = Console.nextInt();
        System.out.println("You entered integer " + SIZE1);

    }

    public static void line(int SIZE) {
        // To change the lines at the bottom and top
        System.out.print("#");
        for (int i = 1; i <= SIZE * 4; i++) {
            System.out.print("=");
        }
        System.out.println("#");
    }

    public static void top(int SIZE) {
        // To change the top portion of the ASCII Art
        for (int line = 1; line <= SIZE; line++) {
            System.out.print("|");

            for (int space = 1; space <= (line * -2 + SIZE * 2); space++) {
                System.out.print(" ");
            }

            System.out.print("<>");

            for (int dot = 1; dot <= (line * 4 - 4); dot++) {
                System.out.print(".");
            }

            System.out.print("<>");

            for (int space = 1; space <= line * -2 + SIZE * 2; space++) {
                System.out.print(" ");
            }

            System.out.println("|");
        }
    }

    public static void bottom(int SIZE) {
        // To change the bottom portion of the ASCII Art
        for (int line = SIZE; line >= 1; line--) {
            System.out.print("|");

            for (int space = 1; space <= line * -2 + SIZE * 2; space++) {
                System.out.print(" ");
            }

            System.out.print("<>");

            for (int dot = 1; dot <= line * 4 - 4; dot++) {
                System.out.print(".");
            }

            System.out.print("<>");

            for (int space = 1; space <= line * -2 + SIZE * 2; space++) {
                System.out.print(" ");
            }

            System.out.println("|");
        }
    }
}

1 个答案:

答案 0 :(得分:1)

我认为你只需要调用你的三种方法来传递用户输入:

    System.out.println("You entered integer " + SIZE1);

    // Add these three lines    
    line(SIZE1);
    top(SIZE1);
    bottom(SIZE1);
}

对于printspaces()printdots方法,您已经拥有了创建点和空格的代码。只需使用此名称创建新方法,并将当前打印空格和点的所有代码移动到相应的方法中,并在当前正在打印它们的代码中调用它们。

我尝试时为我工作。

希望这有帮助。