使用CMD运行Java程序时System.out.println无输出求助
javac编译无报错,但程序运行后System.out.println无输出问题
我的Java代码如下:
public class MyFirstProgram { public static void main(String[] args){ int number =10; System.out.println(number); System.out.println("Hello, World!"); System.out.println("Strange"); } }
在CMD中执行编译命令:
C:\Users\username\Documents\test>javac MyFirstProgram.java
执行后无任何输出(空白),但代码存在语法错误时会正常输出编译日志,因此排除代码语法问题。
当前使用的JDK版本信息:
C:\Users\username\Documents\test>java -version java version "21.0.1" 2023-10-17 LTS Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29) Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)
怀疑是JDK版本或系统设置问题,求解决思路:
- 确认是否执行了编译后的类文件:javac仅负责编译生成
.class文件,不会运行程序。编译完成后需执行java MyFirstProgram命令启动程序,才能看到输出。 - 检查文件一致性:确保文件名
MyFirstProgram.java与主类名完全一致(Java对大小写敏感),且当前目录已生成MyFirstProgram.class文件。 - 验证环境变量:检查
JAVA_HOME是否指向正确的JDK 21路径,PATH环境变量是否包含%JAVA_HOME%\bin,避免调用了其他版本的Java工具。 - 清理重新编译:删除目录下的
.class文件,重新执行javac MyFirstProgram.java编译,再运行程序。 - 测试极简代码:编写仅包含
main方法和一行System.out.println("Test")的类,编译运行,排查是否是当前代码的特殊情况。
内容的提问来源于stack exchange,提问作者Byungmin Han
相关产品推荐
相关产品推荐

