0

假设我的程序中有以下哈希图设置。我想获取哈希图的输入并将它们存储到一个对象中。当前的 hashmap 列表太长而无法放入主代码中,因此我尝试从单独的目标文件中读取输入以限制主代码的长度。你会建议我怎么做?

谢谢!

int i = input.nextInt(); 
Map<Character,Integer> map = new HashMap<Character,Integer>();                         

map.put('A', i*2);                        
map.put('B', i*2);
map.put('C', i*2);
map.put('D', i*4);
map.put('E', i*2);
map.put('F', i*3);
map.put('G', i*2);
map.put('H', i*6);
                  and so on forth down to Z and other 20 other characters...
4

2 回答 2

0

你的意思是这样的:

int i=1000;//anything what you like
Map<Character,Integer> map = new HashMap<Character,Integer>();
for(int x=65;x<=90;x++){
      char c=(char)x;
      map.put(c, i*2);
}    
于 2013-05-02T01:15:49.673 回答
0

假设这些乘数不必更改,那么您可以执行以下操作。

int[] multipliers = {2,2,2,4,2,3,6,...};
char chars[] = {'A','B',...}; /// or if they are in ascii order you dont need to specify this
for (int j=0;j<chars.length;j++){
    map.put(chars[j],i * multipliers[j]);
}

只要确保你的两个数组大小相同。

于 2013-05-02T01:27:10.860 回答