簡體   English   中英

Java 的 String.format 方法中的可變寬度

[英]Variable widths in Java's String.format method

我正在做一個需要顯示文本樹的項目。 我正在嘗試使用 Java 的 String.format 方法來簡化格式化過程,但在嘗試應用可變寬度時遇到了麻煩。

目前我有一個稱為深度的變量(一個整數)。

我嘗試執行以下操作:

String.format("%"+depth+"s"," ") + getOriginalText() + "\n";

但是我收到以下錯誤。

java.util.FormatFlagsConversionMismatchException: Conversion = s, Flags = 0

關於如何執行此操作的任何建議,或者我應該只接受循環嗎?

謝謝您的幫助!

這有效:

int depth = 5;
String str= "Hello"+ String.format("%"+depth+"s"," ") + "world" + "\n";
System.out.println(str);

它打印 5 而中間有空格。

你好世界。

請檢查您的代碼並確保為depth分配了有效的int值。 最有可能的是 (invalid value in depth ) 是問題所在。

您可以使用“System.out.printf”命令嘗試以下操作:

int depth = 10;

System.out.printf("%s" + "%" +depth + "s", "Hello","World" );

你好世界

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM