2013-01-06 50 views
1

我得到下面的錯誤:如何在同一行上打印來自多個ArrayLists的元素?

C:\Area52\AndroidProgramming>javac -d . ex1.java ex1.java:27: error:

no suitable method found for println(Object,Object)

  System.out.println(players.get(0), batAvg.get(0)); 
        ^
method PrintStream.println(Object) is not applicable 
    (actual and formal argument lists differ in length) 

這裏是我的代碼:

package one.exercise; 

import java.util.*; 

public class ex1 
{ 
    public static void main(String[] args) 
    { 
     ArrayList players = new ArrayList(); 

     players.add("Joey"); 
     players.add("Thomas"); 
     players.add("Joan"); 
     players.add("Sarah"); 
     players.add("Freddie"); 
     players.add("Aaron"); 

     ArrayList batAvg = new ArrayList(); 

     batAvg.add(.333); 
     batAvg.add(.221); 
     batAvg.add(.401); 
     batAvg.add(.297); 
     batAvg.add(.116); 
     batAvg.add(.250); 

     System.out.println(players.get(0), batAvg.get(0)); 
     System.out.println(players.get(1)); //+ batAvg.get(1)); 
     System.out.println(players.get(2)); //+ batAvg.get(2)); 
     System.out.println(players.get(3)); //+ batAvg.get(3)); 
     System.out.println(players.get(4)); //+ batAvg.get(4)); 
     System.out.println(players.get(5)); //+ batAvg.get(5)); 
    } 
} 

回答

4
System.out.println(players.get(0) + ", " + batAvg.get(0)); 

更重要的是......

for(int i = 0; i < players.size() && i < batAvg.size(); i++) 
    System.out.println(players.get(i) + ", " + batAvg.get(i)); 

可以刪除的兩個條件之一(i < players.size()i < batAvg.size())如果你能保證他們永遠是同一個人即

0

你有兩個選擇:

  1. 串聯,作爲已經建議。
  2. 使用System.out.print。如果您需要更改列表數量,則更加靈活。在該行的最後一項之後,調用System.out.println結束該行。
0

問題是,您正試圖在僅使用一個參數的PrintStream上使用println方法。

請參閱javadoc

而不是給你想要的兩個字符串作爲不同的參數,你把它們連接在一起,如前面的答案中所示,有一個參數並滿足println的要求。

相關問題