ACM 库简单示例不适用于 jdk 1.7.0_79

ACM Library simple example not working with jdk 1.7.0_79

大家好java各位专家!

当我尝试 acm 库的一个小例子时

import acm.program.*;

class prog extends ConsoleProgram {


    public void run() {

        int number = readInt("?");

        println("You entered: " number);    

        }

 }

编译成功。 我这样使用命令行:

javac -cp acm.jar; main.java

java -cp acm.jar;前卫

但是我得到了这个错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: acm.util.DOSCommandLi
ne.getLine()Ljava/lang/String;
        at acm.util.DOSCommandLine.getLine(Native Method)
        at acm.util.DOSCommandLine.getCommandLine(JTFTools.java:1627)
        at acm.util.JTFTools.getCommandLine(JTFTools.java:439)
        at acm.util.JTFTools.getMainClass(JTFTools.java:464)
        at acm.program.Program.main(Program.java:1320)

这是什么意思...我认为 JDK 版本问题...但是我正在使用 JDK 'jdk1.7.0_79'

在我看来,它仅针对此 JDK 版本抛出异常。请求试用您并提供反馈。 谢谢...

UnsatisfiedLinkErrorNative Method 意味着没有本地库(对于 windows 它将是 dll)加载,可以为您的 acm.util.DOSCommandLine.getLine() 方法调用。

对于您的库,应该有原生包,其中将包含适用于您的系统架构的原生库。您必须将其中之一放入您的类路径文件夹中。

已解决!

它不需要任何本地库... 我要做的是将主条目用作:

public static void main(String[] args) {

    new prog().start(args);

}

在 'run' 方法之后添加它现在可以工作了。注意:这一行'new prog().start(args);'

在此处找到此解决方案: http://www.dreamincode.net/forums/topic/240789-acmjar-package-problem-class-wasnt-find-in-project/

谢谢断断续续

但是我花了相当长的时间嘘嘘.....