在java中使用MessageFormat进行打印令人烦恼

时间:2016-09-08 18:51:59

标签: java

该程序运行正常,但是当打印最后一行时,它会像这样: enter image description here

我尝试这样做,因为它是一个符号:

Create New Project

但它仍然是相同的结果。它只会工作,如果我删除符号 - >“'”。

我不想要我应该如何编写代码。只问我的错误在哪里。谢谢

System.out.println(MessageFormat.format("The rectangle\'s area is {0}", area));

2 个答案:

答案 0 :(得分:1)

  

每当您使用MessageFormat时,您应该知道   单引号字符(')在消息内部实现特殊目的   图案。单引号用于表示内部的一个部分   消息模式,不会格式化。单引号本身必须   使用两个单引号('')进行转义。

Messageformat

System.out.println(MessageFormat.format("The rectangle'' area is {0}", area));

答案 1 :(得分:0)

{}格式函数的一部分表示传递的参数的索引,在这种情况下,width和height.width存储在args [0]中,而高度存储在args [1]中用于上述程序。所以{0}应该是宽度的格式元素,而{1}应该是高度的格式元素,不同于上面的程序,其中{0}被选为高度的格式元素。另外,区域正在最后一行打印,可能是范围的args []参数之前结束了一行。我尝试分别使用{1}和{0}使用同一行打印区域和周边,并且效果很好。