package testGraph;
//import paintgraph.MatlabPaint;
import com.mathworks.toolbox.javabuilder.MWException;
import toAdd.Adds;
public class TestPaint {
/**
* @param args
*/
public static void main(String[] args) {
Adds a;
try {
a = new Adds();
Object[] b=new Object[2];
b[0]=a.paint(1, 1,2);
} catch (MWException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration.getMCRRoot(MCRConfiguration.java:92)
at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$ModuleDir.(MCRConfiguration.java:66)
at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration.getModuleDir(MCRConfiguration.java:71)
at com.mathworks.toolbox.javabuilder.internal.MWMCR.(MWMCR.java:1571)
at toAdd.ToAddMCRFactory.(ToAddMCRFactory.java:99)
at toAdd.Adds.(Adds.java:61)
at testGraph.TestPaint.main(TestPaint.java:16)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1938)
at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$MCRRoot.get(MCRConfiguration.java:85)
at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$MCRRoot.(MCRConfiguration.java:87)
... 7 more
不知道为什么 看了下jdk的版本是java 1.6.0_20 matlab的java版本是 java 1.6.0_12_b04
at testGraph.TestPaint.main(TestPaint.java:16行)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
索引越界了。
你用matlab生成的jar包中的类是什么?是不是那个toAdd.Adds?
at toAdd.ToAddMCRFactory.(ToAddMCRFactory.java:99)
at toAdd.Adds.(Adds.java:61)
at testGraph.TestPaint.main(TestPaint.java:16)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
这里已经说了,String数组越界,是不是那个toAdd.Adds类的问题?
一个是数组越界问题,还有就是在Java下和C#下运行MATLAB程序的时候,数据类型要做相应的转化,转化成JAVA支持的类型