Java - 我不能在同一行打印(我不使用println)

时间:2018-03-13 21:48:08

标签: java

这似乎是一个常见问题,但我无法找到解决问题的方法。我最近开始学习Java,所以我几乎不知道基础知识。

我的教授给了一个作业,我必须用星号写下我的名字。我只使用一个'System.out.print'来做到这一点,它非常混乱和混乱。所以我尝试了这个:

public class teste2
{ public static void main (String[] args)
{ 
  String BR = "*****   ***** \n*    *  *     *\n*    *  *    *\n*****  *****  \n*     * *     *\n*     * *     *\n******  ";

  String U = "*     *\n*     *\n*     *\n*     *\n*     *\n*    *\n*******";

  System.out.print (BR + U);
}

它有效,但它们在不同的行中,我需要它只有一行。我做错了什么?

1 个答案:

答案 0 :(得分:0)

好的,就像你可能已经看到你的问题的评论一样,很多人说你使用'\ n',这表示java控制台开始新的一行。所以要做到这一点,就像你必须逐行写下每一行,所以为了做得更好,我首先要做所有的字母。为此你可以使用单独的数组。 例如:

public class teste2 {
     public static void main(String[] args) {
           // This creates T
           String[] t = new String[6];
           t[0] = "*******";
           for(int i = 1; i < t.length; i++) t[i] = "   *   ";

           // This creates E
           String[] e = new String[6];
           e[0] = "*******";
           e[1] = "*      ";
           e[2] = "****   ";
           e[3] = "*      ";
           e[4] = "*      ";
           e[5] = "*******";

           // This creates S
           String[] s = new String[6];
           s[0] = " ******";
           s[1] = "*      ";
           s[2] = " ***** ";
           s[3] = "      *";
           s[4] = "      *";
           s[5] = "****** ";

           // Now you need to print this.
           for(int i = 0; i < t.length; i++) {
                System.out.println(t[i]+"\t"+e[i]+"\t"+s[i]+"\t"+t[i]);
           }
           // This should be it.
           // You can still optimize the code and make everything in one
           // line but I think this is WAY better to read and better to
           // use as you can also use letters like the T more often.
           // BTW: this is TEST so not your name ;)
           // You need to program your own letters :)
     }
}

如果这没有帮助对不起。但我会这样做,因为这很容易实现和使用。