传递矩阵列表到Java方法,错误:没有方法'list_method'找到匹配的签名类

7次浏览(过去30天)
SAMEER艾哈迈德
SAMEER艾哈迈德 2014年3月4日
编辑: SAMEER艾哈迈德2014年3月6日
你好,
Matlab的部分:
33矩阵=[22日,11日,44岁,22日,44岁,22岁,54);% 1-by-8矩阵
如果真正的
%的代码
进口edu.lipreading。*
进口java.util.Vector
培训= MainMethod;
training.list_method(矩阵);
结束
Java部分
如果真正的
%的代码
公共空白list_method(列表<整数>点){
System.out.println (“欢迎使用列表法”);
结束
注意:当我运行我的matlab代码,我得到的错误像没有方法'list_method'与匹配签名找到类'edu. liprereading . mainmethod '。 / / edu。lipreading包名,MainMethod类名

接受的答案

马尔科姆Lidierth
马尔科姆Lidierth 2014年3月4日
试一试
公共空白list_method (double[]分){
...
注意,MATLAB向量/矩阵默认包含双精度浮点数,并作为副本传递给Java。
3评论
SAMEER艾哈迈德
SAMEER艾哈迈德 2014年3月5日
当我有改变从java方法参数列表到double一次又一次 我有如下的错误。有什么想法请回复我谢谢。 请回顾以前的论坛了解?
如果真正的
%的代码
矩阵
(1 34113, 34岁,61年,61年,66年)
没有为类找到匹配签名的方法'list_method'
“edu.lipreading.MainMethod”
结束

登录评论。

答案(1)

马尔科姆Lidierth
马尔科姆Lidierth 2014年3月5日
编辑:马尔科姆Lidierth 2014年3月5日
好的,如果你被一个List java端卡住了,你需要创建一个List matlab端。
在MATLAB:
  • 创建一个具体的列表类
列表= java.util.ArrayList ()
  • 向它添加元素
k = 1:长度(矩阵)
list.add (int32(矩阵(k)));
结束
  • 检查它的大小:
> > list.size ()
ans =
8
请注意,Java代码中的“”注释仅在编译时相关。将上述MATLAB变量转换为int32可以确保ArrayList在运行时将java.lang.Integer添加到列表中。可以显式地使用
list.add (java.lang.Integer.valueOf(矩阵(k)));
代替。
在MATLAB中,你可以使用“get”来访问列表元素:
如。
list.get (0)
注意,当MATLAB接收到返回的Integer时,它会从它创建一个MATLAB原语double:
> >类(list.get (0))
ans =
Java不会-它会在列表中使用Java .lang. integer实例。
1评论
SAMEER艾哈迈德
SAMEER艾哈迈德 2014年3月6日
感谢回复我下面我提到了我的完整代码,你可以很容易地解决我的问题。
在Matlab代码
矩阵=[33122,3、2、2、3、2,4];
outsprintf = sprintf (“% d”,、矩阵);
outsprintf = sprintf (“[% s b \]”, outsprintf);
disp (outsprintf);
这里的结果是[33122,3,2,2,3,2,4]就像得到这样的值,我需要传递java方法参数列表<整数>点。
注2:关于Java类请查看我的附件文件。

登录评论。

标签

还没有进入标签。

下载188bet金宝搏

社区寻宝

在MATLAB Central中找到宝藏,并发现社区可以如何帮助你!

开始狩猎!