【发布时间】:2011-11-02 10:20:30
【问题描述】:
我不确定我是否使用了正确的命名法,所以我会尽量让我的问题具体化。也就是说,我想这个问题一直都会出现,并且可能有几种不同的方法来处理它。
假设我有一个名为main 的数组(向量),包含 1980 年到 2000 年之间的 1000 个随机年份,并且我想从中创建 20 个单独的数组(向量)。这些数组将命名为 array1980、array1981 等,长度也为 1000,但包含 1,其中名称中的索引等于 main 中的相应元素,其他位置为 0。换句话说:
for(int i=0; i<1000; i++){
if(main[i]==1980){
array1980[i]=1;
} else {
array1980[i]=0;
}
当然,我不想写其中的二十个,所以如果我可以在循环中创建新的变量名会很好。问题是您通常不能将变量名称分配给带有运算符的表达式,例如,
String("array"+ j)=... # returns an error
我目前使用的最多的是 Matlab,但我也可以在 Java、c++ 和 python 中做一些事情,我正在尝试了解人们如何解决这个问题。理想情况下,我希望能够以某种方式操纵单个变量(或子数组),使年份保留在变量名称(或数组索引)中,以减少出错的机会并使事情更容易处理一般来说。
如果有任何帮助,我将不胜感激。
【问题讨论】:
-
使用数组数组或数组字典/哈希表?
标签: java arrays variables variable-assignment