栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用户输入与变量相关?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用户输入与变量相关?

好的解决方案

不要像那样做很多变量。

您可以将它们全部放在一个数组中:

Stack[] poles = new Stack[3];for (int i=0; i<poles.length; i++) poles[i] = new Stack<Integer>();

然后,您可以使用访问极点

poles[yourInteger]

一个变体(基于杰弗里的评论):

List<Stack<Integer>> poles = new ArrayList<Stack<Integer>>();for (int i=0; i<poles.size(); i++) poles[i] = new Stack<Integer>();

然后,您可以使用访问极点

poles.get(yourInteger)

请注意,一旦您开始在这些两极上做更复杂的事情,就必须考虑将它们嵌入到类中。我个人尝试避免使用集合或集合数组,因为它们容易造成混淆。

不是很好的解决方案

您可以使用一个开关:

public Stack<Integer> getPole(int i) {    switch(myInteger) {    case 1:        return pole1;    case 2:        return pole2;    case 3:        return pole3    }    return null;}

与它一起使用

Stack<Integer> pole = getPole(yourInteger);

疯狂的解决方案

您可以根据需要使用反射名来访问变量。

为此,您首先要获取类的Field实例:

Field stackField = MyClass.class.getField("pole"+myInteger);

然后,您必须获取该字段值的方法,然后调用它们。这将很慢,许多LOC和许多try / catch。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/369253.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号