【问题标题】:How to print multiple variable lines in Java如何在 Java 中打印多个变量行
【发布时间】:2014-06-28 08:54:39
【问题描述】:

我正在尝试在 Java 的打印行中打印 webdriver 测试中使用的测试数据

我需要打印 system.out.print 函数 (printf/println/whatever) 内的一个类中使用的多个变量。

public String firstname;
public String lastname;

firstname = "First " + genData.generateRandomAlphaNumeric(10);
driver.findElement(By.id("firstname")).sendKeys(firstname);

lastname = "Last " + genData.generateRandomAlphaNumeric(10);
driver.findElement(By.id("lastname")).sendKeys(lastname);

我需要打印语句中的那些打印为:
名字:(我使用的变量值)
姓氏:(我使用的变量值)

使用类似下面的方法可以得到确切的结果。
但我需要减少printf 的行数并使用更高效的方式。

System.out.printf("First Name: ", firstname);
System.out.printf("Last Name: ", lastname);

谢谢!

【问题讨论】:

  • 手头的问题与 Selenium 无关。去掉这个标签(以及使用 Selenium 的部分代码),你会立即得到答案...

标签: java printf println


【解决方案1】:
System.out.println("First Name: " + firstname);
System.out.println("Last Name: " + lastname);

System.out.println(String.format("First Name: %s", firstname));
System.out.println(String.format("Last Name: %s", lastname));

【讨论】:

  • 谢谢.. 我可以将这些行整合在一起并在一个 system.out.println 函数中打印所有内容吗?这是我的担心
【解决方案2】:

你可以用 1 printf:

System.out.printf("First Name: %s\nLast Name: %s",firstname, lastname);

【讨论】:

    【解决方案3】:

    或者试试这个:

    System.out.println("First Name: " + firstname + " Last Name: "+ lastname +".");
    

    祝你好运!

    【讨论】:

      【解决方案4】:

      您可以使用字段firstNamelastName 创建类Person 并定义方法toString()。在这里,我创建了一个 util 方法,它返回 Person 对象的字符串表示形式。

      这是一个示例

      主要

      public class Main {
      
          public static void main(String[] args) {
              Person person = generatePerson();
              String personStr = personToString(person);
              System.out.println(personStr);
          }
      
          private static Person generatePerson() {
              String firstName = "firstName";//generateFirstName();
              String lastName = "lastName";//generateLastName;
              return new Person(firstName, lastName);
          }
      
          /*
           You can even put this method into a separate util class.
          */
          private static String personToString(Person person) {
              return person.getFirstName() + "\n" + person.getLastName();
          }
      }
      

      public class Person {
      
          private String firstName;
          private String lastName;
      
          //getters, setters, constructors.
      }
      

      比起toString(),我更喜欢单独的 util 方法,因为toString() 用于调试。 https://stackoverflow.com/a/3615741/4587961

      我有编写具有多种输出的程序的经验:HTML UI、excel 或 txt 文件、控制台。他们可能需要不同的对象表示,所以我创建了一个 util 类,它根据输出构建一个字符串。

      【讨论】:

        【解决方案5】:

        假设我们有变量日期、月份和年份,那么我们可以像这样在java中编写它。

        int date=15,month=4,year=2016;
        System.out.println(date+ "/"+month+"/"+year);
        

        输出如下:

        2016 年 15 月 4 日

        【讨论】:

          猜你喜欢
          • 2013-10-10
          • 2016-06-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多