Problema na coleta de dados

1 resposta
java
H

Pessoal, eu tenho um pouco de problemas com estrutura de dados. Preciso criar essa classe que tem um método que vai pegar alguns parâmetros, para que eu possa construir um gráfico. O parâmetro String[][] é um array que eu já possuo, esse array possui na primeira linha as minhas propriedades, e na segunda linha possui os valores. Porém eu preciso transformar esse valores da segunda linha em inteiros, pois está em String, e não estou conseguindo fazer isso.
O Array é String[n][2], onde possui somente 2 colunas, porém as linhas podem variar sempre. O segundo parametro que eu passo é o nome da propriedade que vai ser mostrada no grafico e o ultimo parametro é a quantidade de linhas do array.

O código é esse, e sempre dá erro na linha dataset.setValue(Integer.parseInt(qnt[i]), propertyName, value[i]);

Codigo:

`package codigo;

import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;

public class chartData {

    public static String[] value;
    public static String[] qnt;
    public static int rowCount;
    public static String propertyName;
    public static DefaultPieDataset pieDataset;
    public static DefaultCategoryDataset barDataset;

    public static void setAllData(String[][]a, String p, int n) {
        String[][] temp = a;
        value = new String[1000];
        qnt = new String[1000];

        for (int i = 1; i < n; i++) {
            value[i] = temp[i][0];
        }

        for (int i = 1; i < n; i++) {
            qnt[i] = temp[i][1];
        }

        propertyName = p;
        rowCount = n;
    }

    public static void createPieDataset() {
        DefaultPieDataset dataset = new DefaultPieDataset();

        for (int i = 1; i < rowCount; i++) {
            dataset.setValue(value[i], Double.parseDouble(qnt[i]));
        }
        pieDataset = dataset;
    }

    public static void createBarDataset() {
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();

        for (int i = 0; i < rowCount; i++) {
            dataset.setValue(Integer.parseInt(qnt[i]), propertyName, value[i]);
        }
        barDataset = dataset;
    }

}`

1 Resposta

Mathob

Use isto:
Integer.parseInt("123");

Criado 13 de abril de 2016
Ultima resposta 13 de abr. de 2016
Respostas 1
Participantes 2