java中如何乘法字符串
我想用字符串乘以整数,因为我正在做的是一个简单游戏的健康系统。 所以我做的是一个ASCII心脏,我想把它拿走,然后根据球员的健康状况来增加java中如何乘法字符串,java,string,Java,String,我想用字符串乘以整数,因为我正在做的是一个简单游戏的健康系统。 所以我做的是一个ASCII心脏,我想把它拿走,然后根据球员的健康状况来增加 String heart = " _ _ "; String heart2 =" ( \/ )"; String heart3 =" \ / "; String heart4 = " \/ "; 因此,要输出玩家的健康状况,如下所示: System.out.println(heart*8); Sy
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;iString
在java和大多数其他语言中不支持乘法运算,因为很难为String定义一致的逻辑乘法运算(例如,“abc”*2
是指“abcabc”还是“aabbcc”,还是只将字符向量中的每个元素乘以2?)。使用for循环可以轻松解决此任务,因此无论如何都不需要乘法运算。请检查@Kenney sent链接并使用string arraystring
在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
的更好的名字应该是:)另外,把最后一个从:“\/”
改成“\/”
(增加了空格)。