I'm new to Java, and I am at my wits in end. I have got my program all to work, but just need help with the formatting when printing out.
if(count == 3)
System.out.printf ("%-15s %15s %15s %15s %15s %n", n, " is compatible with
",dates[k],dates[k+1],dates[k+2]);
My output is
Stacey Francis is compatible with Owen Farrell Jack Clifford Joshua Watkins
I would like my output to be (without repeating stacey francis name or "is compatible with":
Stacey Francis is compatible with Owen Farrell
Jack Clifford
Joshua Watkins
Just wondering how to go about this?
Yes, %n is a newline in printf. See the documentation of java.util.Formatter, specifically the conversion table which specifies:
'
n' line separator The result is the platform-specific line separator
Your output currently only has a linebreak at the end, not at the points that you seem to want them. You would need to use a format like:
"%-15s %15s %15s %n %15s %n %15s %n"
(and maybe some tabs thrown in there for alignment).
%n should have worked. But the problem is, you have just used it at the end in your format string. You need to insert it at appropriate places: -
"%-15s %15s %15s %n %45s %n %45s"
You can also use "\n" between your format specifiers to print a newline: -
System.out.printf ("%-15s %15s %15s \n %45s \n %45s",
n, " is compatible with ", dates[k],dates[k+1],dates[k+2]);
Also, I have increased the length of last two names from 15 to 45, to format them just below the previous names.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With