java字符串格式,替换“”

java字符串格式,替换“”,java,Java,我想问一下%+something+在java中的作用是什么?我们不能用=代替= 对。像这样直接写作是可能的 bar = String.format("%" + percentage +"s", "="); 这取决于百分比是多少;如果它是我假设的int,那么您的代码只需打印=到屏幕的百分比时间 int percentage = 20; System.out.println(String.format("%" + percentage +"s", " ").replace(" ", "="));

我想问一下%+something+在java中的作用是什么?我们不能用=代替=


对。像这样直接写作是可能的

bar = String.format("%" + percentage +"s", "=");

这取决于百分比是多少;如果它是我假设的int,那么您的代码只需打印=到屏幕的百分比时间

int percentage = 20;
System.out.println(String.format("%" + percentage +"s", " ").replace(" ", "="));
//prints ====================
如果这是您的意图,那么您不能只保留替换零件-或者更具体地说:它不会给您相同的结果:

System.out.println(String.format("%" + percentage +"s", "="));
//prints                    =
说明:

格式为%+百分比+s。。。将第二个参数设置为本例中给定的长度百分比。如果长度小于第二个参数,它将在左侧添加空格,直到达到所需的长度

第一个版本将其用作技巧,并将随后生成的空格替换为=


第二个版本只是说:取this=并在左边添加空格,直到达到所需的长度。

hmm,那么为什么第二个代码不会给出相同的结果呢?我想打印百分比乘以=“我添加了一些解释。如果这解决了您的问题,请您接受答案以结束问题。
System.out.println(String.format("%" + percentage +"s", "="));
//prints                    =