1

我收到以下错误:

C:\Area52\AndroidProgramming>javac -d 。ex1.java ex1.java:27:错误:

没有找到适合 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

3 回答 3

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()

于 2013-01-06T00:03:35.607 回答
0

你有两个选择:

  1. 如前所述,连接。
  2. 使用 System.out.print。如果您需要改变列表的数量,则更灵活。在该行的最后一项之后,调用 System.out.println 以结束该行。
于 2013-01-06T00:06:25.127 回答
0

问题是您试图在只接受一个参数的 PrintStream 上使用 println 方法。

请参阅javadoc

与其将您想要的两个字符串作为不同的参数给出,不如将它们连接在一起,如前面的答案中所示,具有一个参数并满足 println 的要求。

于 2013-01-06T00:07:07.567 回答