需要帮助编译用户输入的代码

时间:2014-11-20 17:41:21

标签: java input compilation applet

我需要帮助,(使用NetBeans 7.4)

我正在创建一个Programming applet,我希望最终用户回答我在applet中会遇到的一些问题。

有没有办法让用户输入“代码”(问题的答案)通过GUI编译和打印出来。 (用户输入答案,提交,编译,如果正确或错误,我的应用程序打印出来)

示例:用户需要回答

How do I print out "Hello" in java?

他们必须把

"System.out.println("Hello");"

任何帮助都会很棒,

提前谢谢你,

1 个答案:

答案 0 :(得分:0)

这是可能的,但您需要为每个问题定义一组有效答案,例如您指出

System.out.println("Hello");

作为有效答案,但

System.out.print("Hello");

System.out.printf("%s", "Hello");

仅举几例,从代码编译的角度来看也是有效的。

此外,您需要明确定义什么是正确答案或错误答案,例如输出结尾是否有新行,即printlnprint

这些只是问题的复杂和广泛的几个问题。更不用说人类对正确答案的理解了。

为了最大限度地减少所有这些复杂性,我建议您提出准确的问题,并在提交代码时编译并运行比较预期结果。举个例子,我会问

  

如何打印"您好"到java中的标准输出

然后,如果代码正确编译,则必须在单独的进程中运行代码,并阅读该进程的stdout。之后,您可以选择修剪结果并与预期结果进行比较。如果匹配则使用输入'代码'产生有效输出。

这样,您的程序将验证以上所有打印语句是否正确。

要编译用户输入的代码,您可以使用Interface to invoke Java™ programming language compilers from programs

要编译除java之外的其他代码,您还需要安装自己的编译,如果要验证安装了C所需的GCC代码,也可以从java程序运行。 / p>