输出一行90等于控制台的标志,两侧各有空行

时间:2012-05-16 13:34:27

标签: java string for-loop

我正在尝试编写一个输出空白行的方法,然后在新行上输出90 =符号,最后输出一个空白行。

这是我的代码......

public void easyToRead(){
    for (int i=0; i<=EQUAL_SIGNS; i++){
        if (i >= 0){
            if (i == EQUAL_SIGNS || i == 0){
                System.out.println(" ");
            }
            else {
                System.out.print("=");
            }
        }
    }
}

输出应该如下所示......

blah blah blah

======================= ---> 90 of them

blah blah blah

有人可以帮我纠正我的代码。

3 个答案:

答案 0 :(得分:3)

System.out.println(String.format("%n%90s%n"," ").replaceAll(" ", "="));

答案 1 :(得分:3)

我认为您使用for循环处于正确的轨道上,但您不应该真正需要任何if语句。这样的事情可能更简单......

public void easyToRead() {
    // Write a blank line
    System.out.println();

    // Write the 90 equals characters
    for (int i=0; i<90; i++){
        System.out.print("=");
    }

    // Write a new-line character to end the 'equals' line
    System.out.println();

    // Write a blank line
    System.out.println();
}

哪个会输出...

<blank line>
===========================...
<blank line>
// the next output will write on this line

对于您想要的每个空行,只需添加另一个System.out.println();语句

答案 2 :(得分:0)

让我们想象你想要使用尽可能多的等号。

在你的班级中,创建一个静态块

public static String LINE_EQUAL_SIGNS;

public static String LINE_SEPARATOR = System.getProperty("line.separator").toString();

static {

    StringBuffer sb = new StringBuffer(LINE_SEPARATOR);
    for (int i = 0; i < EQUAL_SIGNS; i++)
        sb.add("=");
    sb.add(LINE_SEPARATOR);
    LINE_EQUAL_SIGNS = sb.toString();
}

现在你只需要这样做:

public void easyToRead()
{
    System.out.print(LINE_EQUAL_SIGNS);
}