I have this code:
public String toString(Day day)
{
String s = day.getDayName() + " " + day.toString();
return s;
}
This is Day class's toString method:
public String toString()
{
String s = "";
for (Slot slot: slots)
s += slot.toString();
return s;
}
When called over and over again it prints:
barbi monday 10: X 11: 12: 2: 3: 4: tuesday 10: 11: 12: 2: 3: 4: X wednesday 10: 11: 12: 2: 3: 4: thursday 10: 11: 12: 2: 3: 4: friday 10: 11: 12: 2: 3: 4: bobbi monday 10: 11: 12: 2: 3: 4: tuesday 10: 11: 12: 2: 3: 4: wednesday 10: 11: 12: 2: 3: 4: thursday 10: 11: 12: 2: X 3: 4: friday 10: 11: 12: 2: 3: 4: bunny monday 10: 11: 12: 2: 3: 4: tuesday 10: 11: 12: 2: 3: 4: wednesday 10: 11: 12: 2: 3: 4: thursday 10: 11: 12: 2: 3: 4: friday 10: 11: 12: 2: 3: 4:
However, I would like to print it this way:
barbi, income is $95.00 Monday 10: 11: 12: X 2: 3: 4: Tuesday 10: 11: 12: 2: 3: 4: Wednesday 10: 11: 12: 2: 3: 4: Thursday 10: 11: 12: 2: 3: 4: Friday 10: 11: 12: 2: 3: 4: bobbi, income is $45.00 Monday 10: 11: 12: 2: 3: 4: Tuesday 10: 11: 12: 2: 3: X 4: Wednesday 10: 11: 12: 2: 3: 4: Thursday 10: 11: 12: 2: 3: 4: Friday 10: 11: 12: 2: 3: 4: bunny, income is $0.00 Monday 10: 11: 12: 2: 3: 4: Tuesday 10: 11: 12: 2: 3: 4: Wednesday 10: 11: 12: 2: 3: 4: Thursday 10: 11: 12: 2: 3: 4: Friday 10: 11: 12: 2: 3: 4:
I know this works with formatted printing in Java. But I have no clue how to do that.
You could use String.format()
, which will accept widths.
I think you could change:
String s = day.getDayName() + " " + day.toString();
to:
return String.format("%9s %s", day.getDayName(), day.toString());
And get what you want.
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