微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用处理依赖关系运行Java程序时出错 StringIndexOutOfBoundsException

如何解决使用处理依赖关系运行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 举报,一经查实,本站将立刻删除。