java mathematica_Java和Mathematica交互
如何在Mathematica中使用Java?
我有两个文件,GRASP.nb和GRASP.java,在同一个文件夹中(BTW:GRASP =贪婪的随机自适应搜索程序). GRASP.java文件包含一个方法public static int [] TSP(int [] [] g,int numberOfIterations,int k).我想在Mathematica中称这种方法.
我在Mathematica文档和here中读到了我应该写的内容
Needs["JLink`"];
InstallJava[];
obj=JavaNew[NotebookDirectory[]~~"GRASP.java"]
要么
Needs["JLink`"];
InstallJava[];
obj=LoadJavaClass[NotebookDirectory[]~~"GRASP.java"]
或类似的东西,但我尝试的任何东西,都会返回错误.我有WinXP,Mathematica 7,Eclipse 3.6.
任何工作的例子都将非常感激.
解决方法:
不要忘记首先编译Java类 – 您无法直接加载GRASP.java.
编译后,请尝试以下操作:
Needs["JLink`"]
AddToClassPath[NotebookDirectory[]];
LoadJavaClass["GRASP"];
GRASP`TSP[{{1,2,3},{4,5,6}}, 7, 8]
由于TSP方法是静态方法,因此必须先加载Java类,然后才能访问它.请注意,该类成为名为GRASP的Mathematica上下文,静态方法作为该上下文中的符号进行访问(GRASP`TSP,如上所示).
如果您要访问的方法是常规方法(非静态方法),则调用序列将如下所示:
Needs["JLink`"]
AddToClassPath[NotebookDirectory[]];
obj = JavaNew["GRASP"];
obj@someMethod[{{1,2,3},{4,5,6}}, 7, 8]
所有这些都假定您的Java类包含在默认包中 – 这是一种不寻常的情况.如果类包含在命名包中,则语法如下:
Needs["JLink`"]
AddToClassPath[NotebookDirectory[]];
LoadJavaClass["com.stackoverflow.GRASP"];
com`stackoverflow`GRASP`TSP[{{1,2,3},{4,5,6}}, 7, 8]
要么
Needs["JLink`"]
AddToClassPath[NotebookDirectory[]];
obj = JavaNew["com.stackoverflow.GRASP"];
obj@someMethod[{{1,2,3},{4,5,6}}, 7, 8]
如果该类位于命名包中(在我的示例中为com.stackoverflow),那么请确保该类具有相对于笔记本的路径com / stackoverflow / GRASP.class.这是Java的要求,而不是Mathematica.
标签:java,wolfram-mathematica
来源: https://codeday.me/bug/20190610/1210900.html
java mathematica_Java和Mathematica交互相关推荐
- java mathematica_java与mathematica
展开全部 其实这是很简单的问题62616964757a686964616fe78988e69d8331333238653934. 在Mathematica中提供了许多接口与外部程序交流信息,其中JLi ...
- JAVA与SAP数据交互的方式总结
JAVA与SAP数据交互的方式总结 RFC方式:Java程序直接通过RFC访问SAP的对象(或称函数,可能叫法不对) SAP提供了BAPI(Business Application Progr ...
- java窗体与Flash交互
最近在研究flash,用flash去读取文件很简单,但是存储文件就很麻烦了. 因此想到用java的窗体进行交互. 下面是DJNativeSwing-SWT-1-0-3-20140708的下载链接: h ...
- Java进程与子进程交互
/* * Java进程与子进程交互 * */ public class RunyimeDemo {public static void main(String[] args){Runtime run ...
- java毕业设计医疗病历交互系统Mybatis+系统+数据库+调试部署
java毕业设计医疗病历交互系统Mybatis+系统+数据库+调试部署 java毕业设计医疗病历交互系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java ...
- 基于JAVA企业间信息交互系统计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA企业间信息交互系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA企业间信息交互系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开 ...
- java ajax post_2、Ajax与Java通过POST方式交互
1.关于Ajax交互的步骤 1.1 获取到xmlhttprequest 1.2 设置xmlhttprequest的onreadystatechange响应事件 1.3 准备获取ajax请求 xm ...
- java与mysql的交互_java与数据库交互常用到的一些方法
下面我整理了一下java中常用的几个与数据库交互的常用方法,仅供参考: 1.执行SQL(dao层的实现类中) (1)SQL查询: //import org.hibernate.Query; //imp ...
- ajax与java交互实例,1、Ajax与Java通过GET方式交互
1.关于Ajax交互的步骤 1.1 获取到xmlhttprequest 1.2 设置xmlhttprequest的onreadystatechange响应事件 1.3 准备获取ajax请求 xm ...
最新文章
- Python学习笔记17:标准库之数学相关(math包,random包)
- 力控报警转储 mysql_力控ODBC转储说明.pdf
- 【坑爹微信】总有一款接口能坑你到吐血 --- 微信开发经验录
- ubutun 因为端口冲突引起安装nginx报错的解决方法
- gcc中的内嵌汇编语言(Intel i386平台)
- android 初学者实现 popupwindow的自动弹出,Android popupWindow弹出窗体实现方法分析
- windows server 2008 安装linux,使用WSL在Windows Server 2019上运行Linux的方法
- linux定时备份文件到指定文件夹,Linux定时备份数据库到指定邮箱的方法
- 如何用axure绘制图表_用Python绘制手绘风格的图表
- cisco路由器设置用户名和密码的几种方式
- Handler sync barrier(同步屏障)
- 在豌豆荚安卓市场下载了伪造的ES文件管理器,该流氓apk会自动的下载手机游戏
- 日常开单送货VBA模块
- VMware解决:未能将管道连接到虚拟机: 所有的管道范例都在使用中。
- Manim文档及源码笔记-CE文档-示例库3使用Manim绘图
- 谷歌浏览器打开CSDN老是弹出安卓网页
- OTN电层的保护SNCP保护详解
- windows10下载链接
- java版溺尸掉三叉戟吗_溺尸 - Minecraft Wiki,最详细的官方我的世界百科
- 今天杂志今天杂志社今天编辑部2022年第22期目录