Java中的初学者 - 字符串格式=“|% - ”+ maxW [j] +“s”; - 这个字符串做什么?

时间:2010-12-23 17:13:06

标签: java string format

我是Java中的菜鸟,我遇到了下面的代码,无法弄清楚它的功能。  maxw []是int类型的数组。  row []是String类型的数组。

             String format = " | %-"+maxW[i]+"s";
       System.out.printf(format,row[i]);

我的问题是:  对于此语句:System.out.printf(format,row [i]);只有'|'在行[i]的值被打印之后,为什么'% - (maxW [i]的值)和's'没有被打印出来?

2 个答案:

答案 0 :(得分:5)

Java格式说明符描述为here

此代码动态创建一个格式说明符,它将左对齐一个字符串(row [i]),其最小宽度由maxW [i]指定。

格式说明符遵循下面第一行的模式。在下面我已经对齐上面的代码,显示它适合模式的位置。

    %[argument_index$][flags] [width] [.precision]conversion
" | %                  -     "+maxW[i]           +"s";

答案 1 :(得分:0)

格式方法假定String描述了文档中所述的格式。它处理%x或类似的方式,用第一个,第二个等参数替换它。

如果你想了解更多,我建议你阅读这种方法的Javadoc。