首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java printf 字符串拼接雙引號不匹配導致編譯錯誤

     編輯:程式設計綜合問答

錯誤代碼

System.out.printf(b + ", " + i + ");

錯誤原因

字符串字面量以雙引號開頭,以雙引號結尾。代碼中 i + " 後缺少右引號,且 "); 被視為代碼而非字符串一部分,導致編譯器報「unclosed string literal」或「')' expected」。

正確寫法

方式一:補全右引號

System.out.printf(b + ", " + i + "");

但 printf 首參數是格式字符串,此處無佔位符,等同 print。

方式二:改用 println(推薦)

System.out.println(b + ", " + i);

方式三:規範 printf 格式化

System.out.printf("%d, %d%n", b, i);

知識點

  • Java 字符串字面量不能跨行,必須在同一行完整閉合。
  • printf 適合帶佔位符的格式化輸出;單純拼接輸出用 print/println 或 String.format 更語義清晰。
  • IDE(IntelliJ/Eclipse)會實時高亮提示引號不匹配,養成關注紅線提示的習慣。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved