我参加了一项竞赛,该竞赛要求我将所有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


当然,这确实假定所有类都在同一包中。

10-07 13:40
查看更多