当前位置: 首页 > 面试题库 >

如何在Java中使用String.format()复制选项卡“ \ t”?

贺佑运
2023-03-14
问题内容

我正在逐行打印数据,并希望像表一样组织数据。

我最初用过firstName + ", " + lastName + "\t" + phoneNumber

但是对于某些较大的名称,电话号码会被推离对齐状态

我正在尝试使用String.format()实现此效果。谁能告诉我使用的格式语法?

我尝试过String.format("%s, %s, %20s", firstName, lastName, phoneNumber),但这不是我想要的。我希望它看起来像这样:

约翰·史密斯123456789

鲍勃·麦迪逊123456789

查尔斯·理查兹123456789

编辑:这些答案似乎适用于System.out.println()。但是我需要它为JTextArea工作。我正在使用textArea.setText()

解决了。JTextArea默认情况下不使用等宽字体。我使用setFont()进行了更改,现在它就像一个符咒一样工作。谢谢大家的解决方案。


问题答案:

考虑为长度说明符使用负数:%-20s。例如:

   public static void main(String[] args) {
     String[] firstNames = {"Pete", "Jon", "Fred"};
     String[] lastNames = {"Klein", "Jones", "Flinstone"};
     String phoneNumber = "555-123-4567";

      for (int i = 0; i < firstNames.length; i++) {
        String foo = String.format("%-20s %s", lastNames[i] + ", " + 
             firstNames[i], phoneNumber);
        System.out.println(foo);
      }   
   }

退货

Klein, Pete          555-123-4567
Jones, Jon           555-123-4567
Flinstone, Fred      555-123-4567


 类似资料:
  • 问题内容: 我是Java的初学者,并且正在使用newboston的Java教程(youtube)。在教程36-37中,他开始使用String.format();。他在过去的教程中没有解释。这是他正在上课的代码: 因此,他正在做的是进行某种军事时间课程,并使用String格式。所以我要问的是,是否有人可以向我解释String.format()的工作方式以及上述格式的工作方式。谢谢您的帮助! 问题答案

  • 如何使用Java中的Selenium WebDriver(又名Selenium 2)在现有的Firefox浏览器中打开新的选项卡?

  • 我一直试图通过Selenium打开浏览器中的选项卡,似乎除了Safari之外,所有选项卡都可以使用。 我正在尝试以下操作: 有什么提示吗? 更新 一些相关的回答包括: null 原因:org.openqa.selenium.InvalidArgumentException:请求正文不包含必需的参数“handle”。构建信息:版本:“3.14.0”,修订版:“AACCCCE0”,时间:“2018-0

  • 我正在尝试制作一个简单的应用程序,在打字时对键盘上的字母进行置乱。我正在使用python和tkinter。我有一个文本小部件,我需要禁用我的应用程序中的键选项卡。我用下面的代码试过了。 此处不使用以下函数: 但是我没有得到预期的结果。我在下面发布了整个代码。 (注意:问题是当其他小部件有焦点时,按下选项卡时,文本光标会出现在文本区域。然后,如果我按下任何字母说,'a'既'a'和'd'被插入到文本字

  • 我想在一行中使用ngIF和ngFor。我知道这是不可能的,但有没有其他方法可以做到这一点? 这是我的代码:

  • 我正在尝试使用Selenium Webdriver和Java打开一个新选项卡,并使用了下面的代码,但它没有打开任何新选项卡,在运行期间也没有显示错误消息。 使用上面的代码,我试图从键盘上按CTRL T打开一个新标签。请帮帮我。