2015-09-28 44 views
-1

我试图显示此:有没有其他方法可以在java中重复打印字符?

Hamburger................$10.00 
Chicken Sandwich....$12.00 

但是,我知道做到这一点的唯一方法是键入的所有字符。

System.out.println("Hamburger................$10.00");<br> 
System.out.println("Chicken Sandwich....$12.00"); 

我只想问,如果有不重复输入到输入代码的简单方法“” ?

+0

如果你只做5个或10个项目,有没有真正更快的方法。如果你正在做很多事情,我会拿你的原始字符串'Hamburger',得到它的长度,从一个像20那样的固定数字中减去这个长度,然后用一个循环来建立一串长度的点。然后,您需要使用一系列字符串为您的每个食物项目执行此操作。祝你好运! –

+1

你的显示输出不是固定宽度的字体,这就是为什么你的'''填充不是一致的长度。没有任何东西可以在纯Java中完成,没有关于正在使用的字体的信息。 – Andreas

回答

0

您可以从for循环打印(System.out.print,以便所有输出都在同一行上)。或者,我愿意,你可以做一个静态方法:

public static String repeat(String val, int times){ 
    String returnVal = val; 
    for(int i = 1; i < times; i++) 
    returnVal += val; 
    return returnVal; 
} 

这样,您就可以更改您的代码:

System.out.println("Hamburger" + repeat(".",18) + "$10.00"); 
+0

谢谢你。帮了很多。 – Deja

1

您可以编写打印的整条生产线,文字的方法,点和数量。

static void itemLine(int width, String text, double value){ 
    DecimalFormat myFormatter = new DecimalFormat("$###,##0.00"); 
    String numstr = myFormatter.format(value); 
    int dots = width - text.length() - numstr.length(); 
    System.out.print(text); 
    for(int i = 0; i < dots; ++i) System.out.print('.'); 
    System.out.println(numstr); 
} 

为您节省计算点数所需的次数的麻烦。

0

你可以这样做:

new String(Collections.nCopies(18, '.').toArray(new char[18])); 
相关问题