Answer:
Modern browsers use CSS to style all their markup.
How would they render a <table> element if CSS had nothing that could express the appearance of one?
(That, and you might have non-tabular data that you want to render like a table, there are enough people using tables for layout to see a demand for it).
They can be used to format content in a tabular manner when the markup does not use the table element, e.g. because the markup was written by someone who was told not use tables or because the markup is generic XML and not HTML.
You can also design a page using e.g. div elements so that some stylesheet formats them as a table, some other stylesheet lets them be block elements or turns them to inline elements. This may depend e.g. on the device width
What you said? And what you get?
I added a decimal format to keep all decimals within the hundredths place. I also changed the calcTip method to void and the argument to a double. Void means the method doesn't return anything and changing bill to type double let's us pass numbers with decimals to the calcTip method. I hope this helps!