You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java编译报错:非法转义字符,如何修复String.format问题?

修复Java编译「error: illegal escape character」错误

核心问题

  1. 非法转义字符:Java字符串中\是转义字符,\%不属于合法转义序列,直接导致编译报错。从你的预期输出看,这里的\%是误写——你需要的是空格分隔,而非输出%符号,空格在字符串中无需转义,直接书写即可。
  2. 格式符与参数不匹配:传入的1299.97、465.64是浮点数,却使用了整数格式符%d,即使编译通过,运行时也会抛出异常,需替换为浮点数格式符%f并指定小数位数。

修复后的代码

public static void main(String... args) {
    String output = String.format("%7.2f  %7.2f  %5d\t%5s\t%s", 1299.97, 465.64, 1963, "00694", "ATLAS CENTAUR 2");
    System.out.println(output);
}

关键修改说明

  • 移除所有\%,直接用空格分隔不同格式段,满足预期输出的排版需求。
  • 将%7d改为%7.2f:7控制输出总宽度(包含小数点和小数位),.2指定保留两位小数,完美匹配浮点数的显示效果。
  • 修正%%5s为%5s,多余的%会导致输出额外的%符号,去掉后实现5位宽度的字符串对齐。

运行结果

1299.97      465.64    1963  00694        ATLAS CENTAUR 2

与你预期的输出完全一致。

内容的提问来源于stack exchange,提问作者iEdit4Fun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 15:57:20