Javaの印刷行内でwebdriverテストで使用されるテストデータを印刷しようとしています。
system.out.print
関数(printf/println /など)内のクラスで使用される複数の変数を印刷する必要があります。
助けてくれませんか?
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);
ありがとう!
1 printf
でできます:
System.out.printf("First Name: %s\nLast Name: %s",firstname, lastname);
または、これを試してください:
System.out.println("First Name: " + firstname + " Last Name: "+ lastname +".");
幸運を!
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));
フィールドPerson
およびfirstName
を持つクラスlastName
を作成し、メソッドtoString()
を定義できます。ここでは、Person
オブジェクトのStringプレゼンテーションを返すutilメソッドを作成しました。
これはサンプルです
メイン
_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()
はデバッグに使用されるため、toString()
よりも別のutilメソッドを使用します。 https://stackoverflow.com/a/3615741/4587961
HTML UI、Excelまたはtxtファイル、コンソールなど、多くの出力を備えたプログラムを作成した経験がありました。異なるオブジェクトの表示が必要な場合があるため、出力に応じて文字列を作成するutilクラスを作成しました。
変数date、month、yearがあり、Javaのように記述できると仮定します。
int date=15,month=4,year=2016;
System.out.println(date+ "/"+month+"/"+year);
この出力は次のようになります。
2016年4月15日