Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Methods

 
Heba Hus
Greenhorn
Posts: 14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Good Afternoon ...

Am new here and new in Java too ... am seeking help and knowledge from you guys ... Ive been working on methods for a week now and i have a guestion which i don't seem to understand how it goes ... i tried it but i need you guys to check if am on the right track ...


Question:
Create a class LearnToMultiply

The class should contain one main method. In the main method, use Math.random method to produce two positive one digit integers(between 1 and 10). The program should ask the user about the result of multiplying these two integers. "HOW MUCH IS 3 TIMES 7?"

The user will input the answer. The program checks the answer, if it is correct, it will display "Excellent, You got it". If it is wrong it will display "No, Try again". The user will continue to enter until he guesses the correct answer. The program will display at the end, the number of trials.



 
sasi kala
Ranch Hand
Posts: 68
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi,

your coding is corect but need some changes.

The main things are "for loop" and "variable assignment".
1) value "Number" variable is taking from user, after that you are assigning another value to it.
remove that line
Number = 1 + ( int ) ( Math.random() * 10);

2) place if condition in for loop as below



before wtring any program first write the required steps,
take ur program as an example. read given problem line by
line then convert into coding.

Step 1. need two numbers, generated using Math.random
Ans)
int firstNumber = 1 + ( int ) ( Math.random() * 10);
int secondNumber = 1 + ( int ) ( Math.random() * 10);

Step 2. Aim of program to compare the product with user input
Ans) int product = firstNumber * secondNumber;
int input = JOptionPane.showInputDialog("How much is "
+firstNumber+" times "+secondNumber+" ? ");

Step 3. Program has to check for corect answer,
by asking input repeatedly
Ans) put one "counter" variable to count the number of times
user entered input.
whenever the number of iterations are not know,use "while" loop

finally the ouput code will look like below


Hope this helps.
All The Best
[ March 22, 2005: Message edited by: sasi kala ]
 
Heba Hus
Greenhorn
Posts: 14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you :]

But i feel lost .. can't it be solved in a simpler way .. i mean without try and catch??
 
John Dell'Oso
Ranch Hand
Posts: 130
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Heba,

Sure you can do without the try-catch, but you will have to change the signature of your main method to read:

public static void main(String[] args) throws Exception ....

or preferably ..

public static void main(String[] args) throws NumberFormatException

but then you lose the ability to recover (easily anyway) from the possibility that the user enters a non-integer for the answer .. your program will terminate with exceptions thrown to your operating system runtime.

Try it .. comment out the try-catch and change the signature to your main method as above, run the program and enter something like "a1" for your answer - the parseInt method will throw an exception and your program will abort in a very ugly way .. that's the whole idea behind exception handling in the first place.

Regards,
JD

[ March 22, 2005: Message edited by: John Dell'Oso ]
[ March 22, 2005: Message edited by: John Dell'Oso ]
 
Joel McNary
Bartender
Posts: 1840
Eclipse IDE Java Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Also, I would advise against the use of "Number" as a variable name; Number is also a class found in the java.lang. package! Variable names should start with a lower-case letter (number would be fine, but not Number).

It is possible to do this without throwing exceptions. You could parse the number yourself (not recommended) or you could create your own dialog with a formatted text field that only accepts numbers (not recommended for beginners...). This way you add additional validation and you can ensure that the string will convert to a number without exception. However, just because you know that no exception is thrown does not mean that the compiler knows it. You would still need the try-catch block or the throws clause in the method declatation.
 
Heba Hus
Greenhorn
Posts: 14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
mmmmmmmmmmmmmmmmmmmmmmmmmmm .. Can someone show me .. i dnt seem to understand how to act or start!
 
Heba Hus
Greenhorn
Posts: 14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you guys for your help

I really appreciate it ... I tried to work on your hints and comments and this is what i reaches ...



:roll: Hope that i am on the right track
 
Layne Lund
Ranch Hand
Posts: 3061
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'd like to reiterate that variable names should start with lower case. If you follow this convention, you will avoid the name collision with classes that have the same name. Also, this helps other Java programmers be able to read your code more easily since to most of us here a name that starts with an upper case automatically suggests that it is for a class.

Layne
 
Heba Hus
Greenhorn
Posts: 14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you all ... I appreciate your help

here is my final code

 
Joe Baumgarten
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello all! Your website was recommended to me as a novice Java programmer. Having fun so far!

My question: in the code listed in this thread, the message dialog boxes give one the option of OK and Cancel. If I click on Cancel, it throws me into the Catch loop. It seems the only way out is to give it the correct answer!

While I'm sure this would appeal to the Nuns that taught me in grade school , is there an easy way to tell the code that "Cancel" is ok and let me go home?
[ March 25, 2005: Message edited by: Joe Baumgarten ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic