一千萬個為什麽

搜索

將整數轉換為等效的空格數

我想知道最簡單的方法是將整數轉換為等效的空格數。打印二叉搜索樹時,我需要它用於節點之間的空間。我試過這個

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

但是,與位置的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)

轉載註明原文: 將整數轉換為等效的空格數