permaculture playing cards
The moose likes Beginning Java and the fly likes Valadation problem!!!!!! Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Valadation problem!!!!!!" Watch "Valadation problem!!!!!!" New topic

Valadation problem!!!!!!

joe kane

Joined: Jan 26, 2004
Posts: 29
Im writing this program, it displays a inputbox asking for a grade(e.g. number), I have it valadated so there can be no letters etc....
I am trying to valadate it so the value entered by the user has to be between 1 & 100, It works and displays a message to the user, but if I enter a number between 1 & 100 I get the same message.....Heres the code, any help much appricated..

Thanks loads in advance.....
Thanks joe
[ February 01, 2004: Message edited by: Jim Yingst ]
Elouise Kivineva
Ranch Hand

Joined: Feb 07, 2002
Posts: 154
This is so long I haven't been able to see the error yet, but start here:
The input checking is the same for the strings received from all three input dialogs, so use the same method for checking.
What the check method should do:
If it's not an int then Inger.parseInt will throw an exception. Use try/catch to find this error.
If you get past try/catch you know you have an int, you just need to make sure it's within the desired range. Maybe you should test for numbers that are too low separately from numbers that are too high, at least until you get things working right.
If the program still gives you the same error message when it shouldn't, try printing the number to an output dialog so you can see what it looks like and whether it's getting changed or garbled somewhere along the line.
Jim Yingst

Joined: Jan 30, 2000
Posts: 18671
Elouise's advice above is all excellent. Here's some more.
Indent your code carefully. When the indentation jumps around at random it becomes painful to read and therefore harder to understand. E.g.

should be

Your start() method is far too long to understand easily. Try breaking it up into smaller methods. As you did with the last bits, methodone() -two() -three() and methodtotals(). Your start method could be something simple like

Most of the work will be in requestTestScore() of course. Which can also be broken into smaller methods. E.g. you may find it helpful to create a method

or alternately

or something similar. There are many possible ways to do this.
Last, when you write the requestTestScore() method, you may want to consider a do/while loop. It's less common than other loop structures, but it matches what you want to do here - first do something (ask for input), then test a condition to see if you should repeat the first action. You can still do this without do while, but it's something to consider.
[ February 01, 2004: Message edited by: Jim Yingst ]

"I'm not back." - Bill Harding, Twister
Loveen Jain
Ranch Hand

Joined: Jan 24, 2004
Posts: 35
I read ur message they are right, the problem is all the inputs are being taken as the Strings and thats why u are recieving the same error.
Try to use Integer.parseInt() to take the values and it will run fine

happy programin
I agree. Here's the link:
subject: Valadation problem!!!!!!
It's not a secret anymore!