java - 如何调用java程序以及使用argv

标签 java argv

我想替换 Int[] mydata 并使用数组 argv 并使用 javax 从另一个类中使用 javafx 调用我的类 Graph, 从那里我声明我的字符串数组并调用我的 java 程序。 - 现在我需要使用像 mydata 这样的字符串从另一个程序调用我的类。 和 - 使用数组 argv 并构建我的新数组。

这可能吗?如何? 感谢您的帮助。

public class Graph extends Application {

public void start(Stage stage) {

    int[] mydata = {
            12, 9, 0, 1, 38, 19, 21, 72, 33, 83, 14, 10, 65, 46, 10, 17, 27, 38, 65, 98, 8, 58, 38, 79, 37, 69, 26, 15};
    Pane root = new Pane();
    NumberAxis xAxis = new NumberAxis();
    NumberAxis yAxis = new NumberAxis();


    ScatterChart scatterChart=new ScatterChart(xAxis,yAxis);
    scatterChart.setTitle("Chart");
    XYChart.Series data=new XYChart.Series();
    data.setName("Data");
    for (int i=0; i< mydata.length; i++) {
        data.getData().add(new XYChart.Data(i,mydata[i]));
        }

    scatterChart.getData().addAll(data);
    root.getChildren().add(scatterChart);

    Scene scene = new Scene(root, 1000, 600);

    //scene.getStylesheets().add("style.css");
    //scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
    scatterChart.setPrefSize(1000, 600);
    stage.setTitle("Graph");
    stage.setScene(scene);

    stage.show();

    File file = new File("c:\\Images\\Image.png");

    WritableImage snapshot = scene.snapshot(null);
    BufferedImage bimg = SwingFXUtils.fromFXImage(snapshot, null); 
    try {
        ImageIO.write(bimg, "png", file);
    } catch (Exception s) {
        s.printStackTrace();
    }

}

public static void main(String[] argv) {
    launch(argv);
}

}

最佳答案

如果您想访问 start 方法中为 main 方法提供的arguments,以便将其转换为整数,您可以调用方法getParameters().getUnnamed()。更多详情here .

然后要将 StringList 转换为 IntegerList,您可以执行以下操作:

使用 Java 8:

List<Integer> mydata = arguments.stream().map(Integer::parseInt).collect(Collectors.toList());

使用 Java 7:

List<Integer> mydata = new ArrayList<>(arguments.size());
for (String argument : arguments) {
    mydata.add(Integer.parseInt(argument));
}

关于java - 如何调用java程序以及使用argv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36720941/

相关文章:

java - 将 org.acra.* 导入 android 项目会出错。

java - 将字符串数据分配给 URL 对象

java - Netty 与 Apache MINA

c - 在单个 printf 调用中打印来自 argv 字符串的 ascii 值

c++ - 在 main 启动之前访问命令行

c++ - 在 C++ 中将字符串转换为 argv

java - Android - 检查单选按钮已选中

java - 将可选<T>转换为流<T>

C# 使用命令行调用应用程序

javascript - Node.js:process.argv 与 process.ARGV