如何使用 JavaFX 反向格式化带有逗号分隔符的标签

How to format a label with a comma delimiter in reverse using JavaFX

所以基本上我想做以下事情:

   String s1 = "hello";

   for(int count = s1.length() -1; count >= 0; count--){
        System.out.printf("%c, ", s1.charAt(count));
    }

而是在标签中执行此操作。如何格式化像 printf 这样的标签?使用 setTextf 没有效果,如下所示:

String s1 = "hello";
for(int count = s1.length() -1; count >= 0; count--){
        label1.setTextf("%c, ", s1.charAt(count));
    }

printf() 方法专门用于将格式化的 String 打印到输出控制台。

如果要格式化一个String作其他用途,需要使用String.format()方法:

String s1 = "hello";
for(int count = s1.length() -1; count >= 0; count--){
    label1.setText(String.format("%c, ", s1.charAt(count)));
}

但是,如果您尝试在循环中执行此操作,将导致单个 char 作为最终的 Label 文本,因为每次调用 setText() 都会覆盖上一个。

相反,您应该使用 StringBuilder:

构建最终的 String
String s1 = "hello";
StringBuilder sb = new StringBuilder();

for(int count = s1.length() -1; count >= 0; count--){
    sb.append(String.format("%c, ", s1.charAt(count)));
}

label1.setText(sb.toString());