2010-08-17 103 views
38

有沒有在線解釋器?在哪裏我可以扔一行或兩個Java到它,它會輸出結果?Java解釋器?

+5

(http://www.beanshell.org/)?它不在線,但可以做你想做的。 – FrustratedWithFormsDesigner 2010-08-17 15:55:38

+0

請記住,Java是一種靜態類型編譯語言,因此不可能交互式地解釋嚴格的Java語法。 BeanShell很棒,但它不是嚴格的Java。 但是,即使對於像Python這樣的解釋型語言,任何在線解釋器沙箱都會有很大的侷限性。 http://try-python.mired.org/ – 2010-08-17 16:02:11

+2

@SimonHibbs實際上,可以爲靜態編譯語言(如C或Java)編寫解釋器。這裏有一些C的解釋器描述:stackoverflow.com/questions/584714/... - 安德森綠色3月1日4:28 – 2013-03-15 00:24:58

回答

5

使用bsh。這是一個基於java的shell。

+0

它看起來很有希望。我使用'yum install bsh'將它安裝在Fedora上,但是如何運行它? 'bsh'在命令行產生'bsh:command not found' – 2014-07-21 09:39:12

+0

好吧,我終於設法用下面的命令(在Fedora上)運行解釋器:'java -cp /usr/share/java/bsh.jar bsh。 Interpreter' – 2014-07-21 09:46:38

2

結賬Ideone.com。你可以輸入一個Java程序,它會編譯它,然後運行它並顯示輸出。這裏有一個hello world example我剛纔輸入

代碼:

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

輸出:

result: success   time: 0.1s   memory: 213376 kB   returned value: 1

input: no
output: no
stderr:
Exception in thread "main" java.lang.NoSuchMethodError: main

哎呀,我忘了申報主體爲靜態!

+2

看來,即使是「Hello World」程序也不能在第一時間正確運行:) – 2010-08-17 16:04:51

24

不要忘記Jython

編輯答案:

誠然,這不是一個解釋器中的問題意識,使公平downvote。但國際海事組織,很可能拋出「一些」 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 

我只相信一個聰明的開發人員將能夠使相當有效地利用了這一點。我知道它幫助我在過去:)

+4

Jython不是Java解釋器。這是JVM的Python實現。 – 2010-08-17 16:29:30

+4

由於解釋的原因,downvote是非常不合理的。 Jython **在探索Java API時非常有用。 – olefevre 2011-04-04 14:59:20

3

如果您已經安裝Groovy,該Groovy Console還與Java的碼。

+1

只是一個警告:我喜歡Groovy控制檯,但Groovy不是Java。有一些語法部分,其行爲不同或在Groovy中不起作用 – Hachi 2013-02-24 19:49:15

+0

例如:'''groovy -e「System.out.println('hello world');」''' – 2016-10-24 22:47:05

8

你最好的選擇可能是http://www.javarepl.com/但也有其他幾個選項:

如果需要解釋,支持Java語法準確,那麼ideone.com會讓你執行任意的Java代碼。

如果要評估Java片段,可以使用Groovy解釋器。 Java代碼通常也是有效的Groovy,而Groovy並不強制你定義一個完整的類。有一個online Groovy interpreter

如果您不需要口譯員在線,還有Eclipse scrap bookDrJavaBeanShell2,這些都允許解釋Java。

2

jGRASP包含一個非常有用的解釋器,我用它來檢查小部分代碼並進行次要字符串處理。

這可能仍然是奧本大學初級CS學生的推薦IDE。

http://www.jgrasp.org/

+0

當我還在uni時,我始終在後臺打開jGRASP以便在Netbeans中對Java進行編碼,以實現此用法。 – Dave 2013-10-03 18:57:30

0

使用xbsh,在Ubuntu與安裝:

$ sudo的資質安裝BSH

這是一個圖形化和增強型接口,以BSH即BeanShell的

來看,它具有:

$ xbsh

1

https://repl.it/languages/java

這是一個很好的解釋和工作正常,但HAV你看着的BeanShell可能落後一點點,有時

+0

檢查nudge4j https://lorenzoongithub.github.io/nudge4j/ – Zo72 2017-02-28 13:32:05