c#或java如何用循环定义多个变量
就是经过一个for(i=0;i<n;i++){//产生n个变量分别是N1到Nn}记住n未知再for前由用户输入,别跟我说直接用数组,都说了n未知,也别说用动态数组就完了,...
就是经过一个for(i=0;i<n;i++){//产生n个变量分别是N1到Nn}记住n未知再for前由用户输入,别跟我说直接用数组,都说了n未知,也别说用动态数组就完了,写出代码给我看.还有变量名要动态化分别是N1到Nn其中n是用户输入的
展开
4个回答
展开全部
变量名不可以动态化,可以动态化赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java:建议用字符串循环作为变量名称,再用动态执行字符串代码,实现变量名称变化。
这是我之前用的一个执行字符串的一个方法
Map<String, Object> mapjava = new HashMap<String, Object>();//
String curarea = map.get(areacodetext).toString().substring(0, 2) + "0000";// 将vechel的set方法变量化
String javacode = "v.setIs" + curarea + "(1)";// 将要执行的java语句转化成字符串
mapjava.put("v", v);// 放入执行语句中的变量
mapjava.put("curarea", curarea);// 同上
DyMethodUtil.invokeMethod(javacode, mapjava);// 通过工具类执行执行字符串语句
以下是工具类
import java.util.Map;
import org.apache.commons.jexl2.Expression;
import org.apache.commons.jexl2.JexlContext;
import org.apache.commons.jexl2.JexlEngine;
import org.apache.commons.jexl2.MapContext;
/**
* 动态加载方法
*
*/
public class DyMethodUtil {
public static Object invokeMethod(String jexlExp,Map<String,Object> map){
JexlEngine jexl=new JexlEngine();
Expression e = jexl.createExpression(jexlExp);
JexlContext jc = new MapContext();
for(String key:map.keySet()){
jc.set(key, map.get(key));
}
if(null==e.evaluate(jc)){
return "";
}
return e.evaluate(jc);
}
}
这是我之前用的一个执行字符串的一个方法
Map<String, Object> mapjava = new HashMap<String, Object>();//
String curarea = map.get(areacodetext).toString().substring(0, 2) + "0000";// 将vechel的set方法变量化
String javacode = "v.setIs" + curarea + "(1)";// 将要执行的java语句转化成字符串
mapjava.put("v", v);// 放入执行语句中的变量
mapjava.put("curarea", curarea);// 同上
DyMethodUtil.invokeMethod(javacode, mapjava);// 通过工具类执行执行字符串语句
以下是工具类
import java.util.Map;
import org.apache.commons.jexl2.Expression;
import org.apache.commons.jexl2.JexlContext;
import org.apache.commons.jexl2.JexlEngine;
import org.apache.commons.jexl2.MapContext;
/**
* 动态加载方法
*
*/
public class DyMethodUtil {
public static Object invokeMethod(String jexlExp,Map<String,Object> map){
JexlEngine jexl=new JexlEngine();
Expression e = jexl.createExpression(jexlExp);
JexlContext jc = new MapContext();
for(String key:map.keySet()){
jc.set(key, map.get(key));
}
if(null==e.evaluate(jc)){
return "";
}
return e.evaluate(jc);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-04-30
展开全部
泛型,反射,动态编译都行
追问
我要源码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询