gpt4 book ai didi

java - SCPSolver 与 Java nullPointerException。一个可运行的例子

转载 作者:太空宇宙 更新时间:2023-11-04 06:13:31 24 4
gpt4 key购买 nike

我正在尝试在 Java 中使用一些线性编程工具。我决定探索 SCPSolver,因为它附带了文档。

所以我尝试运行 SCPSolver 主页中所示的示例:the low lever interface example

public class SCPSolverDemo {
public static void main(String ag[]){
LinearProgram lp = new LinearProgram(new double[]{5.0,10.0});
lp.addConstraint(new LinearBiggerThanEqualsConstraint(new double[]{3.0,1.0}, 8.0, "c1"));
lp.addConstraint(new LinearBiggerThanEqualsConstraint(new double[]{0.0,4.0}, 4.0, "c2"));
lp.addConstraint(new LinearSmallerThanEqualsConstraint(new double[]{2.0,0.0}, 2.0, "c3"));
lp.setMinProblem(true);
LinearProgramSolver solver = SolverFactory.newDefault();
double[] sol = solver.solve(lp);
System.out.println(Arrays.toString(sol)); //line 23
}
}

当我运行它时,我收到一条错误消息

Exception in thread "main" java.lang.NullPointerException
at drafts.SCPSolverDemo.main(SCPSolverDemo.java:23)

我意识到 SolverFactory.newDefault(); 返回 null。文档说

搜索 LinearProgramSolver 服务的服务提供者并返回找到的第一个实例。如果未找到服务,它将堆栈跟踪打印到 stderr 并返回 null。首次调用此方法时,它会初始化 ServiceLoader,该 ServiceLoader 从类路径中查找可用服务。后续调用将使用第一次初始化的结果。因此,如果在第一次调用时没有可用的服务,则程序运行的其余部分将没有可用的服务。 future 的实现可能会忽略这个问题。

但我不知道如何解决这个问题。在这一点上,我希望得到您的帮助。我从现有的例子中无法理解太多,我不知道该怎么做。

有人可以给我一个可运行的示例,以便了解发生了什么吗?预先感谢您

最佳答案

如果您的系统上安装了多个 JDK。在 IntelliJ 上,确保为 x86 JDK 版本选择了正确的 SDK。如果您在“平台设置”-> SDK 中命名您的 SDK,则更容易跟踪

enter image description here

关于java - SCPSolver 与 Java nullPointerException。一个可运行的例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28394041/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com