如何在 Java 中打印多个变量行

Posted

技术标签:

【中文标题】如何在 Java 中打印多个变量行【英文标题】:How to print multiple variable lines in 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 的部分代码),你会立即得到答案... 【参考方案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://***.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 日

【讨论】:

以上是关于如何在 Java 中打印多个变量行的主要内容,如果未能解决你的问题,请参考以下文章

python的print输出多个变量

如何在空间可用时将多个JTable打印到单个页面

如何在 Azure 应用服务 java11 tomcat 9 堆栈中配置 java ENV 变量

如何从不同的方法打印多个变量?

如何在 Java 中的新行上打印多个整数

如何从java中的数组中打印多个最大值[重复]