2016-06-17 44 views
0

假设我有内容的文件:声明变量编程

I want to declare a variable called science. 
I want to declare a variable called commerce. 

现在我想基于上述文件中的每一行的最后一个字来声明变量。例如: -

public static String SCIENCE; 
public static String COMMERCE; 

我该如何做到这一点?我认为这question试图用bash做同样的事情。

它怎么能在java中完成?

+1

这不是完全清楚你想达到的目标。你的程序是用来输出源代码还是做其他的事情?另外,这些变量的类型是什么? (你所描述的源代码目前无效。) –

+0

变量应该是字符串类型的......我忘记提及......为不方便而烦恼。 –

+1

听起来像是一个Map 的作业。 – EJP

回答

2

通常不需要为变量命名,但有机会用名称检索该变量。

考虑将变量存储在Map<String, Object>中,其中密钥是变量的名称。 A Map是:

将键映射到值的对象。地图不能包含重复的键;每个键可以映射到最多一个值。

类似下图的代码可以帮助:

Map<String, Object> map = new HashMap<String, Object>(); 

... 
// To store an object with a key myName 
map.put("myName", obj); 

... 
// To retrieve an object with a key myName 
Object obj = map.get("myName"); 
0

也许你可以创建某种抽象类或接口来表示变量。然后你可以通过使用类似Convert String to Code的方式将字符串转换为代码来初始化它。

+0

从听起来像你想做的事情你可以只是有很多字符串转换为代码 –

+0

这个答案可能会解决这个问题...我会尽力让你知道......无论如何。 –

2

这是不可能的运行时间来声明变量名。 您可以尝试另一种方式:

Map<String, Object> maps = new HashMap<>(); 
maps.put(the last word of each line, the value); 

各行的最后一个字获得的价值:

maps.get(the last word of each line);