重复结构,程序方法

时间:2014-10-23 03:31:58

标签: java bluej

public static void main (String args[])
{
        String c = "Message";
        int width;
        int height;
        char character;
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the character : ");
        character = sc.next().charAt(0);
        System.out.println("Enter your width: ");
        width=sc.nextInt();
        System.out.println("Enter your height: ");
        height=sc.nextInt();
        System.out.println();
        for (int i = 0; i < height; i++) {
            for (int j = 0; j < width; j++) {
                if (i == 0 || i == height-1) {
                    System.out.print(character);
                } else if (j ==width-1) {
                    String middle = character + "  " + c + "  " + character;
                    System.out.print(middle);
                } 
            }
            System.out.println();
        }
    }

}

我正在尝试在矩形中显示MESSAGE。另外,有没有办法可以将我的矩形移动到屏幕中央?

2 个答案:

答案 0 :(得分:1)

那个代码会做你的伎俩,但请注意这是丑陋的。 首先,您将获取整个用户输入行而不是第一个字符。

public static void main(String args[]) {
    String c = "Message";
    char character;
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter the character : ");
    character = sc.next().charAt(0);
    System.out.println();
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 13; j++) {
            if (i == 0 || i == 2) {
                System.out.print(character);
            } else if (j == 0) {
                String middle = character + "  " + c + "  " + character;
                System.out.print(middle);
            } 
        }
        System.out.println();
    }
}

输出:

aaaaaaaaaaaaa
a  Message  a
aaaaaaaaaaaaa

答案 1 :(得分:0)

不要使用[for循环],Apache Commons Lang3中的StringUtils类可以帮助你重复String。

请参阅:

http://commons.apache.org/proper/commons-lang/javadocs/api-release/org/apache/commons/lang3/StringUtils.html

有3种方法:

(1)静态字符串重复(char ch,int repeat)

使用重复到指定长度的指定分隔符返回填充。

(2)static String repeat(String str,int repeat)

重复String重复次数以形成新的String。

(3)static String repeat(String str,String separator,int repeat)

重复一次String重复次数以形成一个新的String,每次都注入一个String分隔符。