Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/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_Variables_Integer - Fatal编程技术网

在Java中在运行时创建变量

在Java中在运行时创建变量,java,variables,integer,Java,Variables,Integer,在我的代码中有一个相当大的循环,我需要在每次迭代结束时创建一个新变量(整数)。这可能吗?我读过关于ScriptEngineManager类的文章,但我不确定这是否有帮助。我想我可以创建一组等于0的整数,但我不确定创建一个新变量需要多少次(这取决于循环的条件)。希望这是有意义的。使用数组。在Javascript中,将var results=[]放在循环之前,并使用results.push(value)追加结果。在Java中,您将需要使用。(顺便说一句,这些语言非常不同。)使用数组。在Javascr

在我的代码中有一个相当大的循环,我需要在每次迭代结束时创建一个新变量(整数)。这可能吗?我读过关于ScriptEngineManager类的文章,但我不确定这是否有帮助。我想我可以创建一组等于0的整数,但我不确定创建一个新变量需要多少次(这取决于循环的条件)。希望这是有意义的。

使用数组。在Javascript中,将
var results=[]
放在循环之前,并使用
results.push(value)
追加结果。在Java中,您将需要使用。(顺便说一句,这些语言非常不同。)

使用数组。在Javascript中,将
var results=[]
放在循环之前,并使用
results.push(value)
追加结果。在Java中,您将需要使用。(顺便说一句,这些语言非常不同。)

希望这是有道理的

不幸的是,事实并非如此

在Java中,动态创建变量是没有意义的。这是极难做到的,一旦你做到了,他们是极难使用。(相比之下,用Javascript很容易做到…)

然而,这仅仅意味着你需要以不同的方式去做你想做的事情。例如,以下内容在循环中执行计算,然后将结果保存在(现有)
ArrayList
变量中:

    List<Integer> results = ArrayList<Integer>();
    while (...) {
        // Do computation ...
        int result = ...
        results.add(result);
    }
    // Now we have all of the results in 'results'
List results=ArrayList();
而(…){
//做计算。。。
int结果=。。。
结果。添加(结果);
}
//现在我们在“结果”中有了所有结果
或者,如果要将每个结果绑定到一个不同的名称,可以执行以下操作:

    Map<String, Integer> results = HashMap<String, Integer>();
    while (...) {
        // Do computation ...
        String name = ...
        int result = ...
        results.put(name, result);
    }
Map results=HashMap();
而(…){
//做计算。。。
字符串名=。。。
int结果=。。。
结果。输入(名称、结果);
}
希望这是有道理的

不幸的是,事实并非如此

在Java中,动态创建变量是没有意义的。这是极难做到的,一旦你做到了,他们是极难使用。(相比之下,用Javascript很容易做到…)

然而,这仅仅意味着你需要以不同的方式去做你想做的事情。例如,以下内容在循环中执行计算,然后将结果保存在(现有)
ArrayList
变量中:

    List<Integer> results = ArrayList<Integer>();
    while (...) {
        // Do computation ...
        int result = ...
        results.add(result);
    }
    // Now we have all of the results in 'results'
List results=ArrayList();
而(…){
//做计算。。。
int结果=。。。
结果。添加(结果);
}
//现在我们在“结果”中有了所有结果
或者,如果要将每个结果绑定到一个不同的名称,可以执行以下操作:

    Map<String, Integer> results = HashMap<String, Integer>();
    while (...) {
        // Do computation ...
        String name = ...
        int result = ...
        results.put(name, result);
    }
Map results=HashMap();
而(…){
//做计算。。。
字符串名=。。。
int结果=。。。
结果。输入(名称、结果);
}

以下是我实现并帮助我轻松修复解决方案的方法,没有太多障碍

//创建数组列表

List accountList = new ArrayList(); 




for(int k=0;k < counter;k++){
        accountList.add(k, (String)flowCtx.getValueAt("transitId"+m));
}

以下是我实施的方法,帮助我轻松地解决了我的解决方案,没有太多障碍

//创建数组列表

List accountList = new ArrayList(); 




for(int k=0;k < counter;k++){
        accountList.add(k, (String)flowCtx.getValueAt("transitId"+m));
}

不,不可能在运行时在java中声明变量。但是java提供了java.util.map,可以像下面的示例一样使用它。我们可以假设键是变量名


Map declareVariableRuntime=newhashmap();declareVariableRuntime.put(“variableName”,newobject())

不,不可能在运行时在java中声明变量。但是java提供了java.util.map,可以像下面的示例一样使用它。我们可以假设键是变量名


Map declareVariableRuntime=newhashmap();declareVariableRuntime.put(“variableName”,newobject())

问题说的是Java,标签说的是Javascript,问题的主体混淆了。它是Java还是Javascript?他们是两个完全不同的东西。“创建变量”到底是什么意思?也许他是通过
ScriptEngine
API使用JavaScript的。尽管如此,这个问题还是很模糊。我们需要查看相关代码。很抱歉造成混淆。我想我指的是Java。。。我不确定这些区别是否真的存在。不是一个用于web小程序之类的吗?我猜是Java,因为他引用了ScriptEngineManager和类。重新标记…@Descartes,Java和JavaScript完全不同,尽管名称不同。Java是用于小程序的,问题说Java,标签说Javascript,问题的主体让人困惑。它是Java还是Javascript?他们是两个完全不同的东西。“创建变量”到底是什么意思?也许他是通过
ScriptEngine
API使用JavaScript的。尽管如此,这个问题还是很模糊。我们需要查看相关代码。很抱歉造成混淆。我想我指的是Java。。。我不确定这些区别是否真的存在。不是一个用于web小程序之类的吗?我猜是Java,因为他引用了ScriptEngineManager和类。重新标记…@Descartes,Java和JavaScript完全不同,尽管名称不同。Java是用于小程序的,我想我是在用Java编写代码。我不敢相信这是一个多么业余的错误。。不知道我在用什么语言。很抱歉“var results=[]”对我来说并不熟悉。Thanks@Descartes--马修的回答仍然有效。如果需要存储数量可变的值,那么使用集合,例如
ArrayList
HashMap
。我想我是在用Java编码。我不敢相信这是一个多么业余的错误。。不知道我在用什么语言。很抱歉“var results=[]”对我来说并不熟悉。Thanks@Descartes--马修的回答仍然有效。如果需要存储数量可变的值,则使用集合,例如
ArrayList
HashMap
。这里的“flowCtx”是什么?这里的“flowCtx”是什么?