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

常に同じサイズになることが保証できる場合は、2つの条件(i < players.size()または)のいずれかを削除できます。i < batAvg.size()

于 2013-01-06T00:03:35.607 に答える
0

2つのオプションがあります。

  1. すでに提案されているように、連結します。
  2. System.out.printを使用します。リストの数を変更する必要がある場合は、がより柔軟になります。行の最後の項目の後で、System.out.printlnを呼び出して行を終了します。
于 2013-01-06T00:06:25.127 に答える
0

問題は、引数を 1 つしかとらない PrintStream で println メソッドを使用しようとしていることです。

javadocを参照してください。

必要な 2 つの文字列を異なる引数として指定する代わりに、前の回答で示したようにそれらを連結して 1 つの引数を持ち、println の要件を満たします。

于 2013-01-06T00:07:07.567 に答える