我参加了一项竞赛,该竞赛要求我将所有java类放在一个.java文件中。是否有为我做到这一点的工具(包括更改类的可见性以实现此目的)?
另外:感谢您尝试帮助我阅读比赛现场,但我引用:
可以制作多个
程序的类,但是您会
必须把所有课程的源
在单个.java文件中(编译器
将产生多个.class文件
无论如何)。当您这样做时,您应该
不公开宣布您的课程,或者
编译器会对此抱怨。
因此,只允许使用1个.java文件(没有jar),并且在该文件中,除了我的公共主类(而且不仅建议使用静态内部类)之外,我还可以具有多个非公共类。
最佳答案
如果您可以访问Unix-y shell(对于Windows,则可以安装例如Git来实现不错的Bash实现,它为您提供了一个出色的VC工具):
cat *.java | sed 's/public class/class/g' >AllTehCodez.java
不必比这更复杂(当然,除非您有很多包含子字符串“ public class”的字符串)。
编辑:不适用于打包和导入。但...
(
egrep -h ^package *.java | head -1
egrep -h ^import *.java | sort -u
egrep -hv '^(import|package)' *.java | sed 's/public class/class/g'
) >AllTehCodez.java
当然,这确实假定所有类都在同一包中。