如何解决使用处理依赖关系运行Java程序时出错 StringIndexOutOfBoundsException
使用处理核心v 3.3.7运行Java程序时出现错误。 我尝试了其他版本,但没有帮助。
我得到的错误如下:
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.Stringindexoutofboundsexception: begin 0,end -1,length 2
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3319)
at java.base/java.lang.String.substring(String.java:1874)
at processing.core.papplet.<clinit>(papplet.java:120)
下面提供了代码:
import processing.core.papplet;
public class ProcessingTest extends papplet {
@Override
public void settings() {
size(200,200);
}
@Override
public void draw() {
background(0);
fill(255,0);
ellipse(100,100,100);
}
public static void main (String... args) {
ProcessingTest pt = new Processingtest();
papplet.runSketch(new String[]{"ProcessingTest"},pt);
}
}
我看不出是什么问题。
解决方法
奇怪的是,我无法复制您的问题。
您的课程是否在书包中?如果是这样,可能值得传递完整的类路径(包括程序包)。例如:
PApplet.runSketch(new String[]{ProcessingTest.class.getCanonicalName()},pt);
您也可以尝试:
PApplet.main(ProcessingTest.class.getCanonicalName());
另外,值得一提的是您使用的是哪种OSX,您使用的是哪种JDK以及调用System.getProperty("java.version");
时机器输出的信息。
快速浏览了我发现的this line处理源代码:
javaPlatform = parseInt(version.substring(0,version.indexOf('.')));
根据您的操作系统,这可能是解析意外字符串的基本错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。