2

単純な for ループを介して配列を JFreeChart の DataSet にロードするのに問題があります。たとえば、これは完全にうまくいくでしょう:

    private  PieDataset createDataset() {
    DefaultPieDataset result = new DefaultPieDataset();     

    result.setValue("Linux", 29);
    result.setValue("Mac", 20);
    result.setValue("Windows", 51);

    return result;

}

ただし、配列の各要素をループして配列を使用して上記のコードを実装しようとすると、機能しません。

    private  PieDataset createDataset() {
    DefaultPieDataset result = new DefaultPieDataset();
    int[] array1 = new int[]{29,20,51};
    char[] array2 = new char[]{"Linux", "Mac", "Windows"};

    for (int i = 0; i < 3; i++) {
        result.setValue(array2[i], array1[i]);
    }
    return result;

}

私がどこで間違ったのか分かりますか?

4

1 に答える 1

1

署名DefaultPieDataset.setValue()

setValue(java.lang.Comparable key, double value)

Comparableしたがって、文字の配列では、上記の配列で " " 値を使用できるとは思いません。可能性
の配列(インターフェイスを実装しているため、最初の例が機能しています)。StringStringComparable

于 2012-05-07T08:17:01.177 に答える