我需要帮助,(使用NetBeans 7.4)
我正在创建一个Programming applet,我希望最终用户回答我在applet中会遇到的一些问题。
有没有办法让用户输入“代码”(问题的答案)通过GUI编译和打印出来。 (用户输入答案,提交,编译,如果正确或错误,我的应用程序打印出来)
示例:用户需要回答
How do I print out "Hello" in java?
他们必须把
"System.out.println("Hello");"
任何帮助都会很棒,
提前谢谢你,
答案 0 :(得分:0)
这是可能的,但您需要为每个问题定义一组有效答案,例如您指出
System.out.println("Hello");
作为有效答案,但
System.out.print("Hello");
或
System.out.printf("%s", "Hello");
仅举几例,从代码编译的角度来看也是有效的。
此外,您需要明确定义什么是正确答案或错误答案,例如输出结尾是否有新行,即println
与print
。
这些只是问题的复杂和广泛的几个问题。更不用说人类对正确答案的理解了。
为了最大限度地减少所有这些复杂性,我建议您提出准确的问题,并在提交代码时编译并运行,比较与预期结果。举个例子,我会问
如何打印"您好"到java中的标准输出
然后,如果代码正确编译,则必须在单独的进程中运行代码,并阅读该进程的stdout
。之后,您可以选择修剪结果并与预期结果进行比较。如果匹配则使用输入'代码'产生有效输出。
这样,您的程序将验证以上所有打印语句是否正确。
要编译用户输入的代码,您可以使用Interface to invoke Java™ programming language compilers from programs。
要编译除java之外的其他代码,您还需要安装自己的编译,如果要验证安装了C
所需的GCC
代码,也可以从java程序运行。 / p>