不使用循环,如何打印一系列相似的字符?数字 这些人物将根据我的意愿。 即。
******(6星)
********(或8星)
是否有任何字符串函数可以执行此操作? printf可以提供任何帮助吗?
答案 0 :(得分:3)
您可以使用recursion
执行相同的操作,
printStar(int x)
{
if(x > 0)
{
System.out.print("*");
printStar(x-1);
}
}
并致电printStar(6)
将其打印6次
答案 1 :(得分:0)
你可以在这里使用递归。
示例:
public class Test {
public static void main(String[] args) {
printString(5);
}
public static void printString(int occurance) {
if(occurance > 0) {
System.out.print("*");
printString(--occurance);
}
}
}
编辑:!=如果输入为负,则会产生无限循环(即使这样做没有意义)
答案 2 :(得分:0)
StringUtils
有一些方法,如下面链接
Commons Lang StringUtils.repeat()
代码示例如下所示
String star = "*";
String repeatStar = StringUtils.repeat(star, 6);
答案 3 :(得分:0)
另一种可能的解决方案
byte[] bytes = new byte[20];
Arrays.fill(bytes, (byte)'*');
System.out.println(new String(bytes));