【问题标题】:Java interpreter? [closed]Java解释器? [关闭]
【发布时间】:2011-03-31 02:00:27
【问题描述】:

网上有口译员吗?我可以在哪里输入一两行 java 代码,然后它会输出结果?

【问题讨论】:

  • 您查看过 BeanShell (beanshell.org) 吗?它不在线,但可能会做你想做的事。
  • 请记住,Java 是一种静态类型的编译语言,因此不可能交互式地解释严格的 Java 语法。 BeanShell 很棒,但它不是严格的 Java。但是,任何在线解释器沙箱,即使是像 Python 这样的解释语言,也会有很大的限制。 try-python.mired.org
  • @SimonHibbs 实际上可以为静态编译语言(例如 C 或 Java)编写解释器。这里描述了一些 C 的解释器:stackoverflow.com/questions/584714/… – Anderson Green Mar 1 at 4:28
  • 试试jshell -- Java 9 起可用

标签: java


【解决方案1】:

Eclipse's built-in feature "scrap book" 可能与您想要的非常接近。

【讨论】:

    【解决方案2】:

    https://repl.it/languages/java

    这是一个不错的解释器,工作正常,但有时可能会有点滞后

    【讨论】:

    【解决方案3】:

    使用 xbsh,在 ubuntu 中安装:

    $ sudo aptitude install bsh

    这是 bsh 的图形和增强界面,即 BeanShell

    运行它:

    $xbsh

    【讨论】:

      【解决方案4】:

      您最好的选择可能是http://www.javarepl.com/,但还有其他几种选择:

      如果您要求解释器完全支持 Java 语法,那么ideone.com 将允许您评估任意 Java 代码。

      如果您想评估 Java sn-ps,您可以使用 Groovy 解释器。 Java 代码通常也是有效的 Groovy,而且 Groovy 不会强制您定义整个类。有一个online Groovy interpreter

      如果您不要求解释器在线,还有Eclipse scrap bookDrJavaBeanShell2 都允许解释Java。

      【讨论】:

        【解决方案5】:

        jGRASP 包含一个非常有用的解释器,我用它来检查一小部分代码并进行次要字符串处理。

        这可能仍然是奥本大学 CS 初学者推荐的 IDE。

        http://www.jgrasp.org/

        【讨论】:

        • 当我还在上大学时,我总是在 Netbeans 中编写 Java 代码,并在后台打开 jGRASP 来实现这种用途。
        【解决方案6】:

        别忘了Jython

        修改后的答案:

        的确,它不是问题意义上的解释器,因此是一个公平的否决票。但是 IMO,可以向它抛出“一些”Java 代码,它会输出结果:

        >>> from java.lang import System
        >>> System.out.println("Hello world")
        Hello world
        >>> from java.util import Random
        >>> r = Random()
        >>> r.nextInt()
        572839857
        >>> r.nextInt(2)
        0
        

        我只是相信聪明的开发人员能够非常有效地利用这一点。我知道它过去对我有帮助:)

        【讨论】:

        • Jython 不是 Java 解释器。它是用于 JVM 的 Python 实现。
        • 投反对票是非常不合理的,原因已解释。在探索 Java API 时,Jython非常有用。
        【解决方案7】:

        如果您安装了GroovyGroovy Console 也适用于 Java 代码。

        【讨论】:

        • 只是一个警告:我喜欢 Groovy 控制台,但 Groovy 不是 Java。有一些语法部分在 Groovy 中表现不同或不起作用
        • 示例:groovy -e "System.out.println('hello world');"
        【解决方案8】:

        查看Ideone.com。您可以输入一个 Java 程序,它会编译它,然后为您运行它并显示输出。这是我刚刚输入的hello world example

        代码:

        public class Main {
            public void main(String[] arguments) {
                System.out.println("Hello world!");
            }
        }
        

        输出:

        结果:成功  时间:0.1s   内存:213376 kB   返回值:1

        输入:否
        输出:无
        标准错误:
        线程“main”中的异常 java.lang.NoSuchMethodError: main

        糟糕,我忘了将 main 声明为静态!

        【讨论】:

        • 第一次好像连“Hello World”程序都不能正常运行:)
        【解决方案9】:

        ideone.com 支持 Java 和许多其他语言。

        【讨论】:

        • 很棒的推荐。
        【解决方案10】:

        使用 bsh。这是一个基于 java 的 shell。

        【讨论】:

        • 看起来很有希望。我用yum install bsh 将它安装在Fedora 上,但我该如何运行它呢?命令行上的bsh 产生bsh: command not found
        • 好的,我终于设法使用以下命令(在 Fedora 上)运行解释器:java -cp /usr/share/java/bsh.jar bsh.Interpreter
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-05
        • 2015-04-24
        • 1970-01-01
        • 1970-01-01
        • 2010-12-12
        • 2010-10-09
        • 2011-08-15
        相关资源
        最近更新 更多