如何在变量末尾附加一个数字来调用本地存储的变量?JAVA

如何在变量末尾附加一个数字来调用本地存储的变量?JAVA,java,Java,这有点难以解释,但在我的程序中,我有一个带计数器的循环,因此每次循环进行时,计数都会增加1。循环将运行1到10次的随机次数,我在本地存储了名为variable1、variable2、variable3等的变量。假设循环运行三次,因此计数为=3。是否仍有基于计数值检索variable3的方法?就像某些代码等于变量[count] 例如: String Variable1 = yes String Variable2 = no String Variable3 = maybe String Va

这有点难以解释,但在我的程序中,我有一个带计数器的循环,因此每次循环进行时,计数都会增加1。循环将运行1到10次的随机次数,我在本地存储了名为variable1、variable2、variable3等的变量。假设循环运行三次,因此计数为=3。是否仍有基于计数值检索variable3的方法?就像某些代码等于变量[count]

例如:

String Variable1 = yes

String Variable2 = no

String Variable3 = maybe

String Variable4 = possibly

int count = 1;
while (randomnumber < 10 ){
count = count + 1;
System.out.print(Variable[count]);
String Variable1=yes
字符串变量2=否
字符串变量3=可能
字符串变量4=可能
整数计数=1;
while(随机数<10){
计数=计数+1;
系统输出打印(变量[计数]);

假设变量是字符串(无论如何都可以用任何类替换):


如果count=3,则需要第三个变量,但数组是0索引的,因此必须这样做:变量[count-1]。就是这样。

如果我正确理解您的问题,请使用
数组列表,而不是为不同的值定义不同的变量

List variables= new ArrayList();
variables.add("k1");
variables.add("k2");
variables.add("k3");
System.out.println("----------------"+variables.get(0)+"------------");
System.out.println("----------------"+variables.get(1)+"------------");
System.out.println("----------------"+variables.get(2)+"------------");
ArrayList<String> list = new ArrayList<String>();
for(int i=0;i<10;i++)
{
    list.add("Value at index:"+i);
}
这将为您提供列表中的最后一个值:

Value at index:9
Update1您可以使用
ArrayList
存储值,然后使用
索引访问它,而不是定义seaprate变量

ArrayList<String> list = new ArrayList<String>();
list.add("yes");
list.add("no");
list.add("maybe");
list.add("possibly");

int count=0;
int randomNumber=7;
while (randomNumber < 10 && count<list.size()){
    count = count + 1;
    System.out.println(list.get(count-1));
}
ArrayList list=new ArrayList();
列表。添加(“是”);
列表。添加(“编号”);
列表。添加(“可能”);
列表。添加(“可能”);
整数计数=0;
整数=7;

而(randomNumber<10&&count数组可以使您的任务更容易实现这一点:

    String[] option={"yes", "no", "maybe", "possibly"};

    int count = 1;
    while (randomnumber < 10 && count <= option.length){ //if count is more than array option's size, arrayIndexOutOfBoundException
        count = count + 1;
        System.out.print(option[count-1]);
    }
String[]option={“是”、“否”、“可能”、“可能”};
整数计数=1;

while(randomnumber<10&&count是的,variable3是一个字符串。但是我不知道如何实现它。我想做System.out.println(variable3),所以你的变量有不同的类型?使用Object[]代替。要显示存储在数组中的变量,只需像System.out.println(variables[count-1])那样做;count-1是一个数字,是索引,它将帮助您从数组中获取正确的变量。如果您有自己创建的自定义类,您可能会希望重写toString方法。但是variable1到variable10中都存储了字符串值,这些字符串值将保留它们的值吗?为了避免该注释,我会使用option.length:)另外,count应该从0开始,您可以在count+1之前进行Sop,这样您就可以避免额外的操作(count-1)。我只需完全按照OP的代码进行操作。您使用
.length()
:)是正确的太棒了!谢谢大家的快速回复。我想,这可以通过反思来实现,但实际上没有理由。按照所有答案的建议,使用某种集合。
ArrayList<String> list = new ArrayList<String>();
list.add("yes");
list.add("no");
list.add("maybe");
list.add("possibly");

int count=0;
int randomNumber=7;
while (randomNumber < 10 && count<list.size()){
    count = count + 1;
    System.out.println(list.get(count-1));
}
    String[] option={"yes", "no", "maybe", "possibly"};

    int count = 1;
    while (randomnumber < 10 && count <= option.length){ //if count is more than array option's size, arrayIndexOutOfBoundException
        count = count + 1;
        System.out.print(option[count-1]);
    }