我想把字符串乘以一个更多的值,因为我所做的是一个简单游戏的健康系统。所以,我所做的是一个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);输出.
_ _ _ _ _ _ _ _ _ _ _ _ _ _
( \/ ) ( \/ ) ( \/ ) ( \/ ) ( \/ ) ( \/ ) ( \/ )
\ / \ / \ / \ / \ / \ / \ /
\/ \/ \/ \/ \/ \/ \/ 但是,从我所做的事情看来,似乎什么都没有发生,因为你不能用这种方式将字符串相乘,有人能帮我把这个放大吗?谢谢
发布于 2015-11-20 23:54:35
如果您尝试逐行打印,而不是一次打印整个图案。
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");
}
}发布于 2015-11-20 23:42:26
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);
// ...https://stackoverflow.com/questions/33837850
复制相似问题