我想将字符串乘以一个整数值,因为我正在研究的是一个简单游戏的健康系统。 所以我所做的是做了一个ASCII心脏,并希望把它拿走,并根据玩家的健康状况加入这个。
String heart = " _ _ ";
String heart2 =" ( \/ )";
String heart3 =" \ / ";
String heart4 = " \/ ";
所以输出玩家的健康状况就像是:
System.out.println(heart*8);
System.out.println(heart2*8);
System.out.println(heart3*8);
System.out.println(heart4*8);
等于这样的输出
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
( \/ ) ( \/ ) ( \/ ) ( \/ ) ( \/ ) ( \/ ) ( \/ ) ( \/ )
\ / \ / \ / \ / \ / \ / \ / \ /
\/ \/ \/ \/ \/ \/ \/ \/
并且除去健康ID只是乘以少一个数字,
System.out.println(heart*7);
System.out.println(heart2*7);
System.out.println(heart3*7);
System.out.println(heart4*7);
输出
_ _ _ _ _ _ _ _ _ _ _ _ _ _
( \/ ) ( \/ ) ( \/ ) ( \/ ) ( \/ ) ( \/ ) ( \/ )
\ / \ / \ / \ / \ / \ / \ /
\/ \/ \/ \/ \/ \/ \/
但是从我正在做的事情看来似乎没有发生,因为你不能用这种方式成倍增加,有人可以帮我把这个倍增。感谢
答案 0 :(得分:2)
public static void multiply(int x, String heart)
{
for (int i = 0; i < x; i++)
System.out.print(heart);
System.out.println(); // need for next line
}
// For x = 2; heart = "<3 "
// multiply(x, heart) would output "<3 <3"
_
// ...
String heart = " _ _ ";
String heart2 =" ( \\/ )";
String heart3 =" \\ / ";
String heart4 = " \\/ ";
int x = 0; // a number you want to print
multiply(x, heart);
multiply(x, heart2);
multiply(x, heart3);
multiply(x, heart4);
// ...
答案 1 :(得分:2)
如果您尝试逐行打印而不是一次打印整个图案
class PrintHeartzzz{
public static void main(String[] args){
StringBuilder sb =new StringBuilder();
int n=8;
prepareLine(" _ _ ",sb,n);
prepareLine(" ( \\/ )",sb,n);
prepareLine(" \\ / ",sb,n);
prepareLine(" \\/ ",sb,n);
System.out.println(sb);
}
private static void prepareLine(String patternToDraw,StringBuilder sb,int nb){
for(int i=0;i<nb;i++){
sb.append(patternToDraw);
}
sb.append("\n");
}
}