StringBuilder排版

/**
复制代码
* 用StringBuilder拼一张多行「报价单」文本(面积/单价/材料费/人工费/总价),一次打印 * <p> * 注意: * 1、StringBuilder * 2、append() * 3、String.format() * 4、toString() * */ public class Day19QuoteBillBuilder { public static void main(String[] args) { String projectNO = "1000 0000 0000 0000 0001"; String projectName = "刘亦菲别院"; String country = "中国"; String province = "北京市"; String city = "北京市"; String district = "海淀区"; String subDistrict = "长安街道"; String community = "前海居委会"; String road = "永定路"; String houseNO = "199号"; String projectAddress; String projectType = "全屋定制"; String quoteDate = "2026-09-18 18:51:51"; double area = 1299; double unitPrice = 8680; double materialCost = 8600000; double laborCost = 2675320; double totalPrice = 11275320; StringBuilder billBuilder = new StringBuilder(); StringBuilder addressBuilder = new StringBuilder(); String maxStr = String.format("%,2f", totalPrice); int width = maxStr.length(); String fmt = "%," + width + ".2f"; projectAddress = addressBuilder.append(country).append(province).append(city).append(district).append(subDistrict).append(community).append(road).append(houseNO).toString(); billBuilder.append("\n-------------------------------项目信息-------------------------------").append("\n"); billBuilder.append(String.format("项目编号:%s %n", projectNO)); billBuilder.append(String.format("项目名称:%s %n", projectName)); billBuilder.append(String.format("项目地址:%s %n", projectAddress)); billBuilder.append(String.format("项目类型:%s %n", projectType)); billBuilder.append(String.format("报价日期:%s %n", quoteDate)); billBuilder.append("------------------------------装修报价表------------------------------").append("\n"); billBuilder.append(String.format("项目面积: " + fmt + "m² %n", area)); billBuilder.append(String.format("总 金 额:¥" + fmt + "元 %n", totalPrice)); billBuilder.append(String.format("装修单价:¥" + fmt + "元/m² %n", unitPrice)); billBuilder.append("其中:\n"); billBuilder.append(String.format("材料费用:¥" + fmt + "元 %n", materialCost)); billBuilder.append(String.format("人工费用:¥" + fmt + "元 %n", laborCost)); billBuilder.append("-----------------------------以下是明细报价-----------------------------").append("\n\n"); System.out.printf(billBuilder.toString()); } }
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP