Java 带变量的字符串可以存储在数组中吗?
我想有一个数组,其中包含变量字符串,所以用户可以选择他想要的句子和变量的值 例如,数组将包含:Java 带变量的字符串可以存储在数组中吗?,java,Java,我想有一个数组,其中包含变量字符串,所以用户可以选择他想要的句子和变量的值 例如,数组将包含: arr[0] = "Hi " + name + ", Welcome" arr[1] = "Happy Birthday " + name; arr[2] = "You are " + name; 我想从一个函数中得到一个这样的数组,然后用某个名称打印它。 例如: String s = (a[0], "Joe") 因此,s将: Hi Joe, Welcome 可能吗?您可以: String[]
arr[0] = "Hi " + name + ", Welcome"
arr[1] = "Happy Birthday " + name;
arr[2] = "You are " + name;
我想从一个函数中得到一个这样的数组,然后用某个名称打印它。
例如:
String s = (a[0], "Joe")
因此,s
将:
Hi Joe, Welcome
可能吗?您可以:
String[] arr = new String[3];
arr[0] = "Hi %s, Welcome"
arr[1] = "Happy Birthday %s";
arr[2] = "You are %s";
然后
哪些产出:
Hi Joe, Welcome
Happy Birthday Joe
You are Joe
printf使用java.util.Formatter
允许在字符串中插入变量。%n
在格式化程序中创建新行
有关这方面的更多信息,请查看此相关教程:您可以:
String[] arr = new String[3];
arr[0] = "Hi %s, Welcome"
arr[1] = "Happy Birthday %s";
arr[2] = "You are %s";
然后
哪些产出:
Hi Joe, Welcome
Happy Birthday Joe
You are Joe
printf使用java.util.Formatter
允许在字符串中插入变量。%n
在格式化程序中创建新行
有关这方面的更多信息,请查看此相关教程:您可以定义一个接口,用于
cheel
并实现如下每个行为
interface Cheer {
String cheerTo(String name);
}
class Welcome implements Cheer {
@Override
public String cheerTo(String name) {
return "Hi " + name + ", Welcome";
}
}
class Birthday implements Cheer {
@Override
public String cheerTo(String name) {
return "Happy Birthday " + name;
}
}
class Whoim implements Cheer {
@Override
public String cheerTo(String name) {
return "You are " + name;
}
}
Cheer[] array = new Cheer[3];
array[0] = new Welcome();
array[1] = new Birthday();
array[2] = new Whoim();
String s = array[0].cheerTo("Joe");
String b = array[1].cheerTo("Sam");
System.out.println(s); // prints: Hi Joe, Welcome
System.out.println(b); // prints: Happy Birthday Sam
那么你可以这样使用它
interface Cheer {
String cheerTo(String name);
}
class Welcome implements Cheer {
@Override
public String cheerTo(String name) {
return "Hi " + name + ", Welcome";
}
}
class Birthday implements Cheer {
@Override
public String cheerTo(String name) {
return "Happy Birthday " + name;
}
}
class Whoim implements Cheer {
@Override
public String cheerTo(String name) {
return "You are " + name;
}
}
Cheer[] array = new Cheer[3];
array[0] = new Welcome();
array[1] = new Birthday();
array[2] = new Whoim();
String s = array[0].cheerTo("Joe");
String b = array[1].cheerTo("Sam");
System.out.println(s); // prints: Hi Joe, Welcome
System.out.println(b); // prints: Happy Birthday Sam
您可以定义
cheel
的接口,并实现如下每个行为
interface Cheer {
String cheerTo(String name);
}
class Welcome implements Cheer {
@Override
public String cheerTo(String name) {
return "Hi " + name + ", Welcome";
}
}
class Birthday implements Cheer {
@Override
public String cheerTo(String name) {
return "Happy Birthday " + name;
}
}
class Whoim implements Cheer {
@Override
public String cheerTo(String name) {
return "You are " + name;
}
}
Cheer[] array = new Cheer[3];
array[0] = new Welcome();
array[1] = new Birthday();
array[2] = new Whoim();
String s = array[0].cheerTo("Joe");
String b = array[1].cheerTo("Sam");
System.out.println(s); // prints: Hi Joe, Welcome
System.out.println(b); // prints: Happy Birthday Sam
那么你可以这样使用它
interface Cheer {
String cheerTo(String name);
}
class Welcome implements Cheer {
@Override
public String cheerTo(String name) {
return "Hi " + name + ", Welcome";
}
}
class Birthday implements Cheer {
@Override
public String cheerTo(String name) {
return "Happy Birthday " + name;
}
}
class Whoim implements Cheer {
@Override
public String cheerTo(String name) {
return "You are " + name;
}
}
Cheer[] array = new Cheer[3];
array[0] = new Welcome();
array[1] = new Birthday();
array[2] = new Whoim();
String s = array[0].cheerTo("Joe");
String b = array[1].cheerTo("Sam");
System.out.println(s); // prints: Hi Joe, Welcome
System.out.println(b); // prints: Happy Birthday Sam
不是那样的。您可以使用一个数组
cheel
,根据输入号以这种方式打印内容。您可以使用一个数组cheel
,根据您的代码不可编译的输入打印内容。%s
短语必须是字符串的一部分。@Seelenvirtuose:dang,你说得对!谢谢草率的快速回答:(@HovercraftFullOfEels是否有任何选项将s作为完整字符串(如打印结果中),以便我可以使用它来做其他事情?好的,我找到了:string s2=string.format(a[0],“Joe”);谢谢!你的代码不可编译。%s
短语必须是字符串的一部分。@Seelenvirtuose:dang,你说得对!谢谢!!草率的快速回答:(@HovercraftFullOfEels有没有任何选项可以将s作为完整字符串(如打印结果中),以便我可以使用它来做其他事情?好的,我找到了:string s2=string.format(a)[0],“Joe”);谢谢!