Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I have toString() return a multi-line string?

I'm working on a program that searches through an array and finds the smallest value and then prints out the time, firstName, and lastName of the runner.

What I need to figure out is how to return the three values on separate lines, something like:

public String toString() {
    return String.format( firstName + " " +  lastName + " " + Time );
}

That's what I have right now

Is there a way to have the three values print out on separate lines?

like image 440
Supernaturalgirl 1967 Avatar asked Oct 21 '14 16:10

Supernaturalgirl 1967


3 Answers

String.format("%s%n%s%n%s", firstName, lastName, Time); 

if you are using format then use the format string with arguments.

  • %s = String
  • %n = new line
like image 115
Leonard Brünings Avatar answered Oct 19 '22 02:10

Leonard Brünings


A new line depends on OS which is defined by System.getProperty("line.separator");

So:

public String toString() {
       String myEol = System.getProperty("line.separator");  
       return String.format( firstName + myEol +  lastName + myEol + Time);
}
like image 39
Dan Avatar answered Oct 19 '22 02:10

Dan


To print them on different lines, you need to add a "line break", which is either "\n" or "\r\n" depends on the Operating System you are on.

public String toString(){
    return String.format( firstName + "\n" +  lastName + "\n" + Time);
like image 1
user1032613 Avatar answered Oct 19 '22 02:10

user1032613