我有一个很简单的问题,在一个for循环中,每次循环都生成一个新的整数变量,变量名要求等于这轮循环中的循环变量的值,比如:
for(int i = 0;i<100;i++){
    "在这里生成一个int 变量名称为i的值"
}
请问如何实现?

解决方案 »

  1.   

    for(int i=0;i<10;i++)

        int j=i;
    }
    是这意思?
      

  2.   

    richard_first() :
    您的这种做法只是动态的对变量j赋值,并不是动态对变量命名
      

  3.   

    变量的名称有什么意义?
    int i和int j有啥区别?
    int i和double j倒是有区别
      

  4.   

    没有意义的,你完全可以给对象增加一个名字变量对象.名字=String.valueOf(i);
      

  5.   

    打住吧!这种想法都有!
    楼主你的动机既然是要“形成一个有系统的对象集合”,那为什么不直接用集合呢?放着JAVA提供的数组和丰富的集合类型不用,尽动些歪念头!
    试想,你要在运行期生成变量名,那变量名不符合命名规范怎么办?出现重名变量怎么办?这些编译器怎么可能听之任之?
      

  6.   

    数组
    这种地方不用数组  你还想怎么做 
    要不你自己用流输出成.java文件
    然后调用编译器编译
      

  7.   

    明白楼主的意思了。
    那是不可能的,因为变量必须先定义,后才能引用,不可能边定义边引用,即使做到了,但产生的这些对象的生命周期是出不了FOR循环体的。
      

  8.   

    我想问的是如何进行n次循环,然后生成n个String型变量,变量内容不是我所关心的,变量名则是(比如)number1,number2,number3,直到numbern,这样的效果吧。因为要知道,有时变量名称和内容是有相关性的。数组当然是可以,只是用数组要不我所有存在数组中的东西都用一个名字因为我只是在循环中进行定义,无法定义多次(当然这不是最关键的),关键的是我如何只根据变量名而从这个数组中找到我想要的东西,当然,有人说可以查看变量的内容,经过遍历就可以了,这样的性能难道是最佳吗?编程难度又如何呢?也就是说java的变量名要不就亲手定义,要不就自动生成很多同名的,但是内容可能不同的变量(对象),无法对变量名进行操作?
      

  9.   

    大家可否思考这样一个问题,如何让java自动生成名称不同的对象?
      

  10.   

    大家可否思考这样一个问题,如何让java自动生成名称不同的对象?
    --------
    变量名一点意义都没有,楼主何苦呢?又不是类型名。
      

  11.   

    String[] name=new String[100];
    for(int i = 0;i<100;i++){
        //"在这里生成一个int 变量名称为i的值"}
      

  12.   

    String[] name=new String[100];
    for(int i = 0;i<100;i++){
        //"在这里生成一个int 变量名称为i的值"
        name[i]=someFun(i);
    }
      

  13.   

    int [] j=new int [10];
    for(int i=0;i<10;i++)
    {
        j[i]=i;
    }是这意思?
      

  14.   

    Vector vcTemp = new Vector();
    for(int i = 0;i<100;i++){
       vcTemp.add(i);
    }
      

  15.   

    这种想法是现实可行的。 
    如,VB中经常有要动态生成控件。 如根据动态得到的数量,取得相应数量的文本或其它类型的控件。
    个人觉得,如果在Java中要用,可以用23楼的做法。String[]   name=new   String[100]; 
    for(int   i   =   0;i <100;i++){ 
            // "在这里生成一个int   变量名称为i的值 " 
            name[i]=someFun(i); 

    这种方法,可用。                  Label[] mylabel = new Label[10];
    for (int i = 0; i < 10; i++) {
    mylabel[i] = new Label(topComposite, SWT.NONE);
    mylabel[i].setBounds(38, 21 + i * 20, 100, 18);
    mylabel[i].setText("id" + i);
    }