It looks like you're new here. If you want to get involved, click one of these buttons!

- All Categories 139.8K
- Programming Languages 104K
- Assembler Developer 6.2K
- Basic 1.8K
- C and C++ 39.7K
- C# 4.2K
- Delphi and Kylix 7.9K
- Haskell 3
- Java 9.5K
- Pascal 4.1K
- Perl 1.3K
- PHP 1.9K
- Python 500
- Ruby 47
- VB.NET 4.3K
- VBA 1.6K
- Visual Basic 20.8K
- Game programming 2.6K
- Console programming 308
- DirectX Game dev 87
- Minecraft 1
- Newbie Game Programmers 107
- Oculus Rift 2
- Applications 8.8K
- Computer Graphics 1.8K
- Computer Hardware 721
- Database & SQL 3.4K
- Electronics development 517
- Matlab 1.6K
- Sound & Music 625
- XML Development 253
- Classifieds 3.2K
- Co-operative Projects 184
- For sale 161
- FreeLance Software City 188
- Jobs Available 1.9K
- Jobs Wanted 597
- Wanted 192
- Microsoft .NET 2.8K
- ASP.NET 1.7K
- .NET General 1.1K
- Miscellaneous 2.8K
- Join the Team 2
- User Profiles 1
- Comments on this site 351
- Computer Emulators 54
- General programming 1.7K
- New programming languages 114
- Off topic board 591
- Mobile & Wireless 146
- Android 20
- Palm Pilot 124
- Multimedia 334
- Demo programming 151
- MP3 programming 183
- Bash scripts 0
- Cloud Computing 10
- FreeBSD 52
- LINUX programming 1.7K
- MS-DOS 361
- Shell scripting 0
- Windows CE & Pocket PC 317
- Windows programming 4.1K
- Software Development 870
- Algorithms 400
- Object Orientation 67
- Project Management 80
- Quality & Testing 87
- Security 230
- WEB-Development 7.3K
- Active Server Pages 1.8K
- AJAX 61
- Bootstrap Themes 1
- CGI Development 55
- ColdFusion 19
- Flash development 221
- HTML & WEB-Design 1.4K
- Internet Development 1.3K
- JavaScript 2.2K
- JQuery 33
- WEB Servers 275
- WEB-Services / SOAP 100

We have migrated to a new platform! Please note that you will need to reset your password to log in (your credentials are still in-tact though). Please contact lee@programmersheaven.com if you have questions.

Tweets by @pheaven
Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

circuz_phreak
Posts: **49**Member

in Java

I have a static method created called:

public static long factorial(int n){ //open factorial

int i;

long result=1;

for (i=1; i <= n; i++) {

result *= i;

}

return result;

}

I have no idea how to call it in the main. I leave public class open and close it after factorial and close main before factorial. But i really have no idea how to call it or use the return value. I need to compute factorials (0 to 11) and use them as part of an equation. (the taylor cosine approximation and have them print to screen. Kind of stuck....thanks

public static long factorial(int n){ //open factorial

int i;

long result=1;

for (i=1; i <= n; i++) {

result *= i;

}

return result;

}

I have no idea how to call it in the main. I leave public class open and close it after factorial and close main before factorial. But i really have no idea how to call it or use the return value. I need to compute factorials (0 to 11) and use them as part of an equation. (the taylor cosine approximation and have them print to screen. Kind of stuck....thanks

About & Contact / Terms of use / Privacy statement / Publisher: Lars Hagelin

Programmers Heaven articles / Programmers Heaven files / Programmers Heaven uploaded content / Programmers Heaven C Sharp ebook / Operated by CommunityHeaven LLC

© 1997-2013 Programmersheaven.com - All rights reserved.

## Comments

6,349Member:

: public static long factorial(int n){ //open factorial

: int i;

: long result=1;

: for (i=1; i <= n; i++) {

: result *= i;

: }

: return result;

: }

:

: I have no idea how to call it in the main. I leave public class open and close it after factorial and close main before factorial. But i really have no idea how to call it or use the return value. I need to compute factorials (0 to 11) and use them as part of an equation. (the taylor cosine approximation and have them print to screen. Kind of stuck....thanks

:

You can use the class name as object in this case. For example:

[code]

sinPhi = Math.sin(phi); // takes the sinus of variable phi

System.out.println(Math.sqrt(4)); // Prints 2

[/code]

where Math is a class full of static mathematics routines. See javaDoc: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Math.html

- Spam

0 · Vote Down Vote Up ·49Member- Spam

0 · Vote Down Vote Up ·6,349Member:

I would start by looking up the taylor series. Then write it down in english or pseudocode, which steps need to be calculated and in which order. Be mindful of loops and if-statements along the way. Finally you can translate what you have written down into Java.

If you write it down correctly and precisely, then the last step is very easy. In a lot of cases writing such things down will teach you to recognize loops and other statements more clearly. In some cases you might want to try various approaches. It is often helpful to break the complete calculation down in smaller parts and focus on each of those individual parts. Once the individual parts work correctly, then link them together to form the whole.

- Spam

0 · Vote Down Vote Up ·49Membervalue = (Math.pow(-1, terms) * Math.pow(radAngle, (2*terms))) / factorial((2 * terms))); // inside a for loop in the main {}

terms changes because its inside a for loop, 1 - 11 terms, rad angle is the input by the user, and factorial calls the method.

The last part enters (2 * terms) into the factorial method to gimme a number. However the way this works out is Double * double / long. I get precision errors. Now if my answer is a long how can it be in decimal form? it recommends i cast it and write (long) infront of both doubles. The numbers i'm computing are going to have ALOT of decimal places. What do i do?

Thanks for all your help!!!

- Spam

0 · Vote Down Vote Up ·6,349Member:

: value = (Math.pow(-1, terms) * Math.pow(radAngle, (2*terms))) / factorial((2 * terms))); // inside a for loop in the main {}

:

: terms changes because its inside a for loop, 1 - 11 terms, rad angle is the input by the user, and factorial calls the method.

:

: The last part enters (2 * terms) into the factorial method to gimme a number. However the way this works out is Double * double / long. I get precision errors. Now if my answer is a long how can it be in decimal form? it recommends i cast it and write (long) infront of both doubles. The numbers i'm computing are going to have ALOT of decimal places. What do i do?

:

: Thanks for all your help!!!

:

:

I would cast the long into a double, because a long is an integer type, and you want to have the decimal places.

- Spam

0 · Vote Down Vote Up ·49Member- Spam

0 · Vote Down Vote Up ·49MemberI'm just confused now how I get all of the numbers to add up. Value = 1, then -0.5, then 0.04661. (theres alot more). But if its inside a for loop I'm not sure how to add them up, Term 1 = 1, term 2 = 1 + (-0.5), Term 3 (Term 2 + 0.04661); But i'm somewhat lost. I thought it was simple but everything i've tried fails.

- Spam

0 · Vote Down Vote Up ·6,349Member:

: I'm just confused now how I get all of the numbers to add up. Value = 1, then -0.5, then 0.04661. (theres alot more). But if its inside a for loop I'm not sure how to add them up, Term 1 = 1, term 2 = 1 + (-0.5), Term 3 (Term 2 + 0.04661); But i'm somewhat lost. I thought it was simple but everything i've tried fails.

:

I would use a function to calculate the terms based on some counter:

[code]

double taylor = 0;

for (int i = 0; i < Max; i++) {

taylor = taylor + term(i);

}

[/code]

- Spam

0 · Vote Down Vote Up ·49Member- Spam

0 · Vote Down Vote Up ·