如何在java

时间:2015-11-20 23:37:43

标签: java string

我想将字符串乘以一个整数值,因为我正在研究的是一个简单游戏的健康系统。 所以我所做的是做了一个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);

输出

      _  _   _  _   _  _   _  _   _  _   _  _   _  _  
     ( \/ ) ( \/ ) ( \/ ) ( \/ ) ( \/ ) ( \/ ) ( \/ ) 
      \  /   \  /   \  /   \  /   \  /   \  /   \  /   
       \/     \/     \/     \/     \/     \/     \/   

但是从我正在做的事情看来似乎没有发生,因为你不能用这种方式成倍增加,有人可以帮我把这个倍增。感谢

2 个答案:

答案 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");
    }

}