gpt4 book ai didi

java - 如何像执行实际 Java 代码一样执行控制台或 GUI 输入?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:53:47 25 4
gpt4 key购买 nike

我希望能够输入 java 命令/代码以在运行时(在“持久”程序的执行期间)以相同的方式执行,或者尽可能接近执行相同的代码,如果它出现在程序的源代码中(作为软件的一部分编程),使用 GUI 元素,如 jTextArea。


以下 StackOverflow 问题似乎是相关的,但连同它们的答案,似乎并不是我要找的。

How To Get Input From Console Class In Java?

Using GUI for console input and outputin java

不想“能够从特定的控制台输入触发操作,并将反馈打印到控制台”,这些问题中描述的控制台应用程序似乎就是这种情况,答案。

我想要的是“能够从控制台(或 GUI)输入执行我无法预测或控制的实际 Java 代码”。

注意:这里的“我无法预测也无法控制”指的是“开发者”……但如果我是输入代码的人,我当然可以预测和“控制”它,因为“用户”就可以了。


由于 java 使用虚拟机环境,我认为它可能会执行“运行时输入的代码”......但我不确定这样的事情是否可能。

例如,我想要 for(int i=0; i<3; i++){System.out.println(i);} 的运行时输入在“GUI 控制台”(例如 jTextArea)中,在按下回车键或单击“发送”按钮后,执行(“编译和”?),并提供与原始文件相同的输出源代码,因此:

0
1
2

所以我想知道以下内容:

  • 这可能吗?
  • 如果是,我该怎么做? (或者,如果不是,最接近的替代方案是什么?)

最佳答案

使用 JavaCompiler .它可以从 String 编译代码。

对于 E.G.查看STBC尤其是 source code .它提供了一个 GUI,可以在单击按钮时编译文本区域中的代码。

STBC GUI

但请注意:

System Requirements

STBC 将在任何装有 1.6+ Java Plug-In * JDK(AKA SDK)版本的计算机上运行。

(*) STBC 使用的 API 只是 tools.jar 中编译器的公共(public)接口(interface),它仅随 JDK 一起分发(尽管 JDK 的“公共(public) JRE”似乎也获取一个 tools.jar)。这会导致在运行 native jar 或 Web 启动应用程序时出现一些不寻常的要求。

关于java - 如何像执行实际 Java 代码一样执行控制台或 GUI 输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10455752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com