java与matlab的混合使用的小问题

四海轩 2012-04-01 12:19:26
在eclipse中调用matlab生成java ,控制台打印不出结果
...全文
168 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
niu_1200 2013-04-23
  • 打赏
  • 举报
回复
那个Java源代码有问题,具体是什么你自己再找找看,我刚在我机子上调通了,另外要你注意的是,如果你机子上安装了多个JDK,特别要注意版本问题。
四海轩 2012-04-01
  • 打赏
  • 举报
回复
问题:控制台没有结果显示,但是把 System.out.println("从键盘输入两个操作数:");
放在 operationclass myAdd = null; 语句之前,就有打印从键盘输入两个操作数;我想测试matlab在java效果,求指导!
四海轩 2012-04-01
  • 打赏
  • 举报
回复
一、在MATLAB中编辑operation.m,


%定义一个函数operation(a,b),求a与b的加减乘除运算,并返回结果

%函数定义function 输出变量列表[s,m,...] 函数名(输入变量列表)sum,sub,mul,div中

function [sum,sub,mul,div] = operation(a,b);

sum = a + b;

sub = a - b;

mul = a * b;

div = a / b;

end

二、生成Java调用文件

Matlab命令中输入deploytool,添加operation.m文件,点击bulid the project,
三.Java中建立一个java project工程JavaTestMatlab,导入两个库文件javabuilder.jar(C:\ProgramFiles

\toolbox\javabuilder\jar)和operation.jar(D:\My Documents\MATLAB\operation\distrib\ operation.jar),

编写java程序JavaTestMatlab.java程序如下:



/*java 调用matlab程序
* author:farseer
* EMail:zhf0374@126.com
* 从键盘输入两个整数,调用operation.m中的函数operation(a,b),求出两个数的各、差、积、商并输出
*/
import operation.*;
import java.util.Scanner;
class JavaTestMatlab
{
public static void main(String[] args)
{
Object result[] = null; /* object是所有类的父类public Object[] operation(int nargout, Object... rhs) */
operationclass myAdd = null; /* Stores myadd class instance */
try
{
int a,b;
myAdd = new operationclass();

System.out.println("从键盘输入两个操作数:");
System.out.print(" 输入第一个操作数:");
Scanner scan = new Scanner(System.in); //从控制台读入输入的整数
//a = scan.nextInt(); //从控制台输入第一个操作数
em.out.print(" 输入第二个操作数: ");
// b = scan.nextInt(); //从控制台输入第二个操作数
a=2;b=2;
result = myAdd.operation(4,a,b); //operation(4,a,b)中第一个参数是返回值的个数 ,a是第一个输入参数,b是第二个输入参数
System.out.print("The sum of " + Integer.toString(a) + " and " + Integer.toString(b) + " is: ");
System.out.println(result[0]);
System.out.print("The sub of " + Integer.toString(a) + " and " + Integer.toString(b) + " is: ");
System.out.println(result[1]);
System.out.print("The mul of " + Integer.toString(a) + " and " + Integer.toString(b) + " is: ");
System.out.println(result[2]);
System.out.print("The div of " + Integer.toString(a) + " and " + Integer.toString(b) + " is: ");
System.out.println(result[3]);
}
catch (Exception e)
{
System.out.println(e);
}
}
}
问题:控制台没有结果显示,但是在 System.out.println("从键盘输入两个操作数:");
放在 operationclass myAdd = null; 语句之前,就有打印从键盘输入两个操作数;我想测试matlab在java效果,求指导!

58,455

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧