Я пытаюсь узнать, как построить график, используя JavaFX, и есть мой код, в котором я пытаюсь нарисовать очень простую серию грехов:
public class Controller implements Initializable {
final NumberAxis xAxis = new NumberAxis();
final NumberAxis yAxis = new NumberAxis();
@FXML
private LineChart<Number, Number> ExactChart = new LineChart<Number, Number>(xAxis, yAxis);
private Series sin_series = new Series();
@FXML
private void plotTheChart(ActionEvent event){
int N = 100;
double x0 = -Math.PI;
double X = Math.PI;
double h = (X-x0)/(N);
double[] x = new double[N];
double[] y = new double[N];
x[0] = x0;
for(int i = 1; i < N; i++){
x[i] = x[i-1] + h;
}
for(int i = 0; i < N; i++){
y[i] = Math.sin(x[i]);
}
sin_series.setName("sin");
for(int i = 0; i < N; i++){
sin_series.getData().add(new Data(x[i], y[i]));
}
ExactChart.getData().addAll(sin_series);
}
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
}
}
Но когда я ее выполняю, я сталкиваюсь со следующей проблемой:
Исключение в потоке "Поток приложения JavaFX" java.lang.ClassCastException: класс java.lang.Double нельзя привести к классу java.lang.String (java.lang.Double и java.lang.String являютсяв модуле java.base загрузчика 'bootstrap')
Я не вижу ни одной части кода, где я нахожусь дважды в строку. Можете ли вы показать мне, где я не прав?