Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中如何乘法字符串_Java_String - Fatal编程技术网

java中如何乘法字符串

java中如何乘法字符串,java,string,Java,String,我想用字符串乘以整数,因为我正在做的是一个简单游戏的健康系统。 所以我做的是一个ASCII心脏,我想把它拿走,然后根据球员的健康状况来增加 String heart = " _ _ "; String heart2 =" ( \/ )"; String heart3 =" \ / "; String heart4 = " \/ "; 因此,要输出玩家的健康状况,如下所示: System.out.println(heart*8); Sy

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

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

但从我所做的来看,似乎什么都没有发生,因为你们不能用这种方式乘以字符串,有人能帮我把它乘以吗。如果您尝试一行一行地打印而不是一次打印整个图案,那就谢谢了

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

}
class-PrintHeartzzz{
公共静态void main(字符串[]args){
StringBuilder sb=新的StringBuilder();
int n=8;
制备线(sb,n);
制备线(“(\\/)”,sb,n);
制备线(“\\/”,sb,n);
制备线(“\\/”,sb,n);
系统输出打印LN(sb);
}
私有静态无效准备线(字符串模式ToDraw、StringBuilder sb、int nb){

对于(int i=0;i如果您尝试逐行打印而不是一次打印整个图案

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

}
class-PrintHeartzzz{
公共静态void main(字符串[]args){
StringBuilder sb=新的StringBuilder();
int n=8;
制备线(sb,n);
制备线(“(\\/)”,sb,n);
制备线(“\\/”,sb,n);
制备线(“\\/”,sb,n);
系统输出打印LN(sb);
}
私有静态无效准备线(字符串模式ToDraw、StringBuilder sb、int nb){

for(int i=0;i
String
在java和大多数其他语言中不支持乘法运算,因为很难为String定义一致的逻辑乘法运算(例如,
“abc”*2
是指“abcabc”还是“aabbcc”,还是只将字符向量中的每个元素乘以2?)。使用for循环可以轻松解决此任务,因此无论如何都不需要乘法运算。请检查@Kenney sent链接并使用string array
string
在java和大多数其他语言中不支持乘法运算,因为很难为string定义一致的逻辑乘法运算(例如,
“abc”*2
是指“abcabc”还是“aabbcc”,还是将字符向量中的每个元素乘以2?)。使用for循环可以轻松解决此任务,因此无论如何都不需要乘法运算。请检查@Kenney sent的链接,并使用字符串数组。这对多行不起作用。在他的示例中,他明确表示将重复四次。但是,由于标准输出的附加性质,这不会发生这是预期的输出。也许你应该使用一个
字符串
返回类型,并像这样使用你的方法
System.out.println(multiply(x,heart));
@RileyCarney好的,这很管用,函数变量
heart
的更好名称是为了:)另外,修复最后一个从:
“\/”
“\/”
(增加了空格)。这不适用于多行。在他的示例中,他明确表示他将重复四次。但是,由于标准输出的附加性质,这将不会打印他的预期输出。也许您应该使用
字符串
返回类型,并使用类似
System.out.println(multiply(x,heart))的方法
@RileyCarney好的,这很管用,函数变量
heart
的更好的名字应该是:)另外,把最后一个从:
“\/”
改成
“\/”
(增加了空格)。