日期:2014-05-20  浏览次数:20681 次

你狠你来!
int   a0=0,a1=1,……a9=9;
写一程序
来控制变量使其完成  
ai=i(i=0,1,2……9)
其中两个i均为变量,主要卡在a1是一个变量,现在要用变量i去替换1

------解决方案--------------------
int []a=new int [10];
for(int i=0;i <=9;i++)
{
a[i]=i;
System.out.println(a[i]+ "= "+a[i]);
}
------解决方案--------------------

public class AI
{
  int a0,a1,a2,a3,a4,a5,a6,a7,a8,a9;

  public static void main(String[] args) throws Exception
  {
    AI a = new AI();
    for(int i=0;i <10;i++)
    {
      a.getClass().getDeclaredField( "a "+i).setInt(a,i);
    }
    System.out.println(a.a0);
    System.out.println(a.a1);
    System.out.println(a.a2);
    System.out.println(a.a3);
    System.out.println(a.a4);
    System.out.println(a.a5);
    System.out.println(a.a6);
    System.out.println(a.a7);
    System.out.println(a.a8);
    System.out.println(a.a9);
  }
}

------解决方案--------------------
看上去好像不难啊
------解决方案--------------------
我明白楼主的意思
他要的不是值 要的是你怎么在循环里声明变量而且
变量的名字要是a0 a1 a2 a3这样递增的
------解决方案--------------------
数组是干啥用的?数组就是为了满足变量名相同而下标不同的一群变量,也就是楼主的需求
可是楼主和数组貌似有仇,宁死不用数组,不得不说,还是楼主狠啊
------解决方案--------------------
我觉得楼主的意思是他想用循环生成变量名a1-a10,
数组可以实现同名不同下标,但是难以实现a1,a2,a3这样的名字,因为这里a后面的数字并不是下标,而是一个字符!
我也曾经试图这样搞过,不过到现在没搞 出来,不知道楼主是不是我这个意思!
------解决方案--------------------
想了半天,没搞出来...呵呵

楼主啊...搞出来告诉我啊...我去吃喜酒
------解决方案--------------------
动态声明变量????如果可以的话,那就可以动态生成所有的东西了
------解决方案--------------------
这个标题强悍!!

------解决方案--------------------
进来之前我觉得我挺狠的
进来之后我发现我也就是那么回事了。
------解决方案--------------------
我不狠我来了
------解决方案--------------------
有一个java的插件叫做bsh,你可以在网上下载到bsh-2.0b4.jar版本~
这个插件可以满足你的需求:

package test;

import bsh.EvalError;
import bsh.Interpreter;

public class OtherTest {
public static void main(String[] args) {
try{
Interpreter interpreter = new Interpreter();
for (int i = 0; i < 10; i ++){
interpreter.set( "a " + i, i);
interpreter.set( "i ", i);
}
String []_val = interpreter.getNameSpace().getVariableNames();
for (String a : _val){
if (a.startsWith( "a ")){
System.out.println(a + "= " + interpreter.get(a));
}
}
}catch(EvalError ee){
ee.printStackTrace();
}
}
}

输出结果:
a3=3
a2=2
a1=1
a0=0
a9=9
a8=8
a7=7
a6=6
a5=5
a4=4

------解决方案--------------------
up
------解决方案--------------------
这要是php,就相当容易了。
java处理这样的事情是上确实很笨拙。
------解决方案--------------------