我编写了一个使用system()函数调用的Java程序,因此它在Matlab的命令窗口中运行。现在我想知道除了在命令窗口运行Java程序之外还有另一种运行Java程序的方法吗?可以在Matlab中的任何用户制作的GUI上运行吗?另一个问题是,我想知道我的程序是否有一些字符串值作为输出,通常显示在命令窗口中,如何将它存储在Matlab中的变量中?
希望很快收到你的来信。
答案 0 :(得分:1)
The MathWorks的Hello World解决方案提供了一些有关如何在MATLAB中运行简单的“Hello World”Java应用程序的见解。您可以稍微更改Java代码,以便有一个返回String的方法。
public class HelloWorld
{
public String hello()
{
String helloWorld = "Hello World!";
return helloWorld;
}
}
编译完这个简单的类并在MATLAB JVM类路径上创建一个实例并使用以下两个命令调用该方法。
o = HelloWorld
output = o.hello;
HelloWorld实例返回的String被赋值给MATLAB变量output
。
在MATLAB中不需要带有Java代码的system
命令。您可以从MATLAB内部直接访问JVM。对于具有复杂GUI的应用程序,请分析Java。
Undocumented Java是MATLAB,Java和GUI的宝贵资源。
答案 1 :(得分:0)
是的,类路径设置是正确的。
我修改了代码,使用它而没有main ..
class HelloWorld
{
public String Hello()
{
String helloWorld="Hello World!";
return helloWorld;
}
}
现在,按照指导我尝试在Matlab中创建实例obj,使用以下命令:
o = HelloWorld;
我在这里得到以下错误:
???没有构造函数'HelloWorld' 找到匹配的签名。
下一个命令表明了这一点:
output = o.hello;
除非创建实例,否则无效。
答案 2 :(得分:0)
默认情况下,您的JAVA类是私有的。添加公共关键字,以便matlab可以访问该类并创建对象。
public class HelloWorld