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”);谢谢!