Your friend's info is outdated.
A lot depends on your itinerary of course - a JR Pass can save you a lot if you are traveling long distance and going all over. But if you're only interested in getting from Osaka to Hokkaido, then a 90 minute airplane ride is far smarter than wasting over 9 hours on a train.
These days on low cost carriers like JetStar you can fly one way for as low as 5000 yen or about SGD 57.
http://www.jetstar.com/jp/en/home
ANA also has a special fare for tourists:
Other possible options are air passes - prices depends on your international carrier:
http://www.jal.co.jp/yokosojapan/
There are some restrictions with some fares on making date changes after ticketing, but you can save a lot of money as well as a lot of time you can use for sightseeing. For Hokkaido, there is also a regional pass, and around Osaka as well. Or if you travel more, a JR Pass might pay off as well. See:
http://www.japan-guide.com/e/e2357.html