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

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

- 140.8K All Categories
- 103.6K Programming Languages
- 6.4K Assembler Developer
- 401 Assembly Code Share
- 239 Getting started in assembly
- 4.6K x86 Assembly
- 1.9K Basic
- 97 Qbasic
- 39.9K C and C++
- 5.6K Beginner C/C++
- 330 C/C++ on Linux/Unix
- 450 C/C++ Windows API
- 522 C++ Builder
- 253 C++ Game Development
- 3.3K C++ MFC
- 103 C++.NET
- 404 Visual C++
- 2.9K C#
- 7.9K Delphi and Kylix
- 334 Advanced Delphi
- 360 Delphi beginners
- 4 Haskell
- 9.7K Java
- 56 Enterprise JavaBeans
- 1.3K Java Beginners
- 304 Java Server Pages
- 4.1K Pascal
- 1.3K Perl
- 11 Perl 6
- 2K PHP
- 546 Python
- 37 Ruby
- 4.4K VB.NET
- 258 Advanced VB.Net
- 1.6K VBA
- 20.8K Visual Basic
- 767 Access databases and VB
- 831 Advance Visual Basic
- 1.2K Beginner VB
- 2.6K Game programming
- 315 Console programming
- 90 DirectX Game dev
- 1 Minecraft
- 112 Newbie Game Programmers
- 2 Oculus Rift
- 9K Applications
- 1.8K Computer Graphics
- 279 3D Graphics
- 129 DirectX
- 125 OpenGL
- 740 Computer Hardware
- 9 Cooling & Overclocking
- 3.4K Database & SQL
- 1.1K Access
- 91 ADO Programming
- 288 MySQL
- 358 Oracle
- 440 SQL-Server
- 535 Electronics development
- 1.6K Matlab
- 628 Sound & Music
- 25 DirectSound
- 257 XML Development
- 3.3K Classifieds
- 199 Co-operative Projects
- 198 For sale
- 190 FreeLance Software City
- 1.9K Jobs Available
- 603 Jobs Wanted
- 209 Wanted
- 2.9K Microsoft .NET
- 1.8K ASP.NET
- 1.1K .NET General
- 22 .NET WEB-Services
- 129 .NET WinForms
- 14 .NET XML
- 50 ADO.NET
- 142 C# & VB.NET School Support
- 3.4K Miscellaneous
- 4 Join the Team
- 354 Comments on this site
- 69 Computer Emulators
- 2.1K General programming
- 187 New programming languages
- 621 Off topic board
- 200 Mobile & Wireless
- 72 Android
- 126 Palm Pilot
- 338 Multimedia
- 154 Demo programming
- 184 MP3 programming
- 0 Bash scripts
- 27 Cloud Computing
- 1 Witsbits Go Cloud
- 53 FreeBSD
- 1.7K LINUX programming
- 1 Awk scripting
- 332 Linux Support
- 0 Sed scripting
- 370 MS-DOS
- 0 Shell scripting
- 321 Windows CE & Pocket PC
- 4.1K Windows programming
- 177 COM/DCOM
- 61 Networking And Security
- 17 Windows 2003 Server
- 6 Windows Vista
- 176 Windows XP
- 939 Software Development
- 416 Algorithms
- 68 Object Orientation
- 24 RUP & UML
- 91 Project Management
- 95 Quality & Testing
- 268 Security
- 63 Evil Scripting
- 81 Hacking
- 7.7K WEB-Development
- 1.8K Active Server Pages
- 61 AJAX
- 4 Bootstrap Themes
- 55 CGI Development
- 28 ColdFusion
- 224 Flash development
- 1.4K HTML & WEB-Design
- 1.4K Internet Development
- 131 Mobile Internet & Messaging
- 211 Wireless development
- 2.2K JavaScript
- 37 JQuery
- 304 WEB Servers
- 153 Apache
- 79 IIS
- 150 WEB-Services / SOAP

## Comments

:

: 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

:

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.

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!!!

:

: 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.

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'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]