java - 将整数转换为等效数量的空格

标签 java string-formatting

我想知道最简单的方法是将整数转换为等效数量的空格。打印二叉搜索树时,我需要它作为节点之间的空间。这个我试过了

  int position = printNode.getPosition(); 
  String formatter = "%1"+position+"s%2$s\n";
  System.out.format(formatter, "", node.element);

但与 position 的 int 值相比,我得到的空间几乎是 3 倍。我也不太确定我是否正确地格式化了字符串。 任何建议都会很棒! 如果它更清楚,说 position = 6;我想在我的节点元素之前打印 6 个空格。

最佳答案

我想你的意思是这样的:

    int n = 6;
    String s = String.format("%1$"+n+"s", "");

System.out.format("[%13s]%n", "");  // prints "[             ]" (13 spaces)
System.out.format("[%1$3s]%n", ""); // prints "[   ]" (3 spaces)

关于java - 将整数转换为等效数量的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2635076/

相关文章:

java - Spring Boot Property Yml/Properties with List 结构

python - 为什么不能在 f 弦的大括号内使用反斜杠?我该如何解决这个问题?

java - sendRedirect 到另一个不在 Appfuse 应用程序中工作的域

java - 生成json树时出现StackOverflowError

java - quartz 异常处理

java - 使用 application.properties 初始化一个对象

我可以像 printf 一样存储格式化字符串吗?

c# - String.Format 没有为数字格式提供正确的结果

Javascript 正则表达式将给定字符串中的 'n' 相同连续字符减少为单个字符

excel - bb 或 bbbb 在 EN-US TEXT 函数或自定义数字格式掩码中代表什么?