2011-06-08 132 views
6
 String t1 = request.getParameter("t1"); 
     String t2 = request.getParameter("t2"); 

     List<String> terms = new ArrayList<String>(); 
     for (int i = 1; i < 51; i++) { 
      terms.add(t + i); 
     } 

想象一下,我有變量t1到t50,是否有可能使用計數器循環每個t?像上面的東西,但obvi不起作用。將字符串添加到列表 - Java

回答

11

你不需要臨時變量,t1,t2等,否則你是在正確的軌道上。

List<String> terms = new ArrayList<String>(); 
    for (int i = 1; i < 51; i++) { 
     terms.add(request.getParameter("t" + i)); 
    } 
1
terms.add(request.getParameter("t" + i)); 

在你的代碼被添加到列表中的字符串,是一個不存在的變量t contatenated /與i

5

總結不,你不能「構建」變量名類似在Java中(事實上,在運行時本地變量甚至沒有任何名稱)。

你可以,但是,擺脫完全的變量,並調用getParameter()用適當的值:

List<String> terms = new ArrayList<String>(); 
    for (int i = 1; i < 51; i++) { 
     terms.add(request.getParameter("t" + i); 
    } 
3

你能不能做到這一點?

for (int i = 1; i < 51; i++) { 
    terms.add(request.getParameter("t" + i)); 
} 
5

而是所有的臨時單變量的只是搶在一個循環中參數:

List<String> terms = new ArrayList<String>(); 
    for (int i = 1; i < 51; i++) { 
     terms.add(request.getParameter("t"+ i)); 
    } 
0

你不能簡單地遍歷變量。但是,爲什麼不製作一個數組(字符串[]),或者如果您事先不知道大小,甚至可以使用ArrayList。那麼你甚至不需要循環,並且可以以幾乎相同的方式訪問所有變量?!

相關問題