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

Ani*_*ket 4 java string format

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

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

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

And*_*mas 5

这里描述 Java格式说明符.

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

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

    %[argument_index$][flags] [width] [.precision]conversion
" | %                  -     "+maxW[i]           +"s";
Run Code Online (Sandbox Code Playgroud)