Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

for Loops with PrintWriter

 
Jenna Dijohn
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm in a basic Java class and I'm having trouble figuring out how to write the code for this program:

Write a for loop that calculates the total of the following series of numbers:
1/30 + 2/29 + 3/28 + ......+ 30/1

Using PrintWriter to output your result to file "result.txt".


This is what I have so far:





When I try to compile it, I get these errors:


Homework4.java:11: cannot find symbol
symbol : class IOexception
location: class Homework4
public static void main(String[] args) throws IOexception
^
Homework4.java:25: cannot find symbol
symbol : variable demoninator
location: class Homework4
for (number=1, demoninator=30; number<=30; number++, demoninator--)
^
Homework4.java:25: cannot find symbol
symbol : variable demoninator
location: class Homework4
for (number=1, demoninator=30; number<=30; number++, demoninator--)
^
3 errors


Every time I try to fix it, I get new errors. Can anyone help me out with this? Thanks so much in advance!
 
Paul Clapham
Sheriff
Posts: 21319
32
Eclipse IDE Firefox Browser MySQL Database
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yeah, "denominator" is a hard word to spell right, especially when you are typing it, and sure enough you misspelled it once. In that line which the error message is pointing to, of course. I find that copying and pasting is both faster and more reliable in a situation like that.

Edit... and "IOexception"? Java is a case-sensitive language, so "IOexception" and "IOException" are different things as far as Java is concerned. (Notice the capital E in the correct version and the lower-case e in your incorrect version.) Picky, picky, for sure, but that's the problem there.
 
Jenna Dijohn
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks!! How should I edit it so it will calculate the total series of numbers?
 
fred rosenberger
lowercase baba
Bartender
Posts: 12185
34
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You need to think about what exactly you want it to do. The best way to do that is to turn your computer off, get a pencil and some paper - and probably an eraser. Start writing down how YOU would do this. How would you calculate the total series of number? What would you need to be able to do, what would you need to remember, what can you forget after you get to various points...

I will give you a tip you may not be aware of...In many computer languages including java, and integer divided by an integer will give you...an integer. 1 divided by 3 in java is 0. 20 divided by 3 is 6. Even if you store the result in a double (like your 'total' variable), you will only get integers added up. You need to force one value to be a floating point type, something like this:

total += (1.0 * number)/ denominator;

Also...if you think about it...you don't need a separate counter for the numerator and the denominator. the sum of both are always 31. 1/30 is the same as 1/(31 -1). 2/29 is the same as 2/(31 - 2)...30/1 is the same as 30/(31 - 30).
 
Campbell Ritchie
Sheriff
Pie
Posts: 49784
69
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch

Don’t use tabs for indenting. I have added code tags, and you can see how much better your posting now looks
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic