如何在jupyter上编译和运行java程序

2024-05-23 14:38:22 发布

您现在位置:Python中文网/ 问答频道 /正文

enter image description here 我试图在Jupyter上运行java程序,但看到了mutlipleUndefinedMagicException

使用java内核IJava版本1.3.0,并尝试运行以下单元格:

%%file day.java
import java.util.Calendar;

class day {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH) + 1;
        int day = cal.get(Calendar.DATE);
        int hour = cal.get(Calendar.HOUR_OF_DAY);
        int minute = cal.get(Calendar.MINUTE);
        System.out.println(year + "/" + month + "/" + day + " " + hour + ":" + minute);
    }
}

但不创建day.java文件并引发错误:

io.github.spencerpark.jupyter.kernel.magic.registry.UndefinedMagicException: Undefined cell magic 'file'
at io.github.spencerpark.jupyter.kernel.magic.registry.Magics.applyCellMagic(Magics.java:34)
at io.github.spencerpark.ijava.runtime.Magics.cellMagic(Magics.java:31)
at .(#12:1)

我怎样修理笔记本


Tags: iogithubgetmagicjavayearcalendarat
1条回答
网友
1楼 · 发布于 2024-05-23 14:38:22

由于您使用的是java内核,因此无需使用shell命令编译和运行程序。相反,只需将day#main方法的内容直接放在单元格中

enter image description here

就像Python内核一样,状态在单元格之间保持不变。这意味着在对上面的一个进行求值之后,有变量yearmonth等可以在后续单元格中使用。与Python内核一样,您可以在最后一行编写一个表达式,它将成为单元格的输出(Out[*]

enter image description here

最后,为了完整性,最初使用%%file%%shell单元格magics的方法在使用Python内核在系统上运行java时非常流行。i、 e.如果将笔记本的内核切换到IPython,您的原始笔记本将可以正常工作

相关问题 更多 >