
1 Attachment(s)
Help Please
Hey, I would like to just say hi to everyone as this is my first post. Honestly, I joined because I love java and want to learn more. I also need help for a class that I'm taking. I've done fine, but I got this assignment that I have no idea how to even approach. I attached it as a zip file to this post. Any help or direction would be really appreciated! Thanks!!!

After downloading and examining your code, which does not appear to be in applet form, and since this is also an introduction, I've moved your thread to the New To Java subforum. Instead of posting zip files containing projects, which further contain classes that could possibly contain viruses it is preferred that you simply enter the code that you have trouble with into your post using [ code] [ /code] tags.
Note that you also include no specifications for your problem thus how can we know what it is you need to have us take a look at ? All I see essentially is two source files, Math and TestMath, from that I cannot determine where you need help. You need to be specific. Therefore, please read the FAQ before you post again.
Thank you for your understanding and cooperation. Once you've done the above, I'm sure someone will be happy to assist.

Code:
class NewtonRaphson {
static double f(double x) {
return Math.sin(x);
}
static double fprime(double x) {
return Math.cos(x);
}
public static void main(String argv[]) {
double tolerance = .000000005; // Our approximation of zero
int max_count = 200; // Maximum number of Newton's method iterations
/* x is our current guess. If no command line guess is given,
we take 0 as our starting point. */
double x = 2;
if(argv.length==1) {
x= Double.valueOf(argv[0]).doubleValue();
}
for( int count=1;
(Math.abs(f(x)) > tolerance) && ( count < max_count);
count ++) {
x= x  f(x)/fprime(x);
System.out.println("Step: "+count+" x:"+x+" Value:"+f(x));
}
if( Math.abs(f(x)) <= tolerance) {
System.out.println("Zero found at x="+x);
}
else {
System.out.println("Failed to find a zero");
}
}
}
this is what I have so far, but he wants us to use the JOptionpane to enter a number.
this is the assignment:
Write a class called NewtonRaphson that can be used to find an approximate solution of (square root of a) using Newton's method. i.e.
f(x) = x2  a. The process should terminate when the positive difference between two consecutive approximations is sufficiently small or when the number of iterations exceeds some upper limit. Print the iteration sequence and the approximation for each iteration. (That is, in a tabular form).
Write a driver class called TestNewton. Use the following data to test the class NewtonRaphson.
• The initial guess is 2.0
• The process terminates when the difference between two consecutive approximations is less than 0.000000005
We are supposed to use Newton's method to do this (NewtonRaphson Method... I also know that I have to use the while loop.
Please help me out on this. I'm completely lost on this one!
thanks

Code:
public class NRTest {
public static void main(String[] args) {
NewtonRaphson f = new NewtonRaphson();
double x = 2;
double root = f.solve(x);
//System.out.println("root = " + root);
}
}
class NewtonRaphson {
// Our approximation of zero
final double TOLERANCE = .000000005;
// Maximum number of Newton's method iterations
final int MAX_COUNT = 200;
// f(x) = cos(x)
private double f(double x) {
return Math.sin(x);
}
// f'(x) = sin(x)
private double fprime(double x) {
return Math.cos(x);
}
public double solve(double x0) {
System.out.printf(" %8s%13s%12s%16s%15s%s%n",
"n", "x_n", "f(x_n)", "f'(x_n)", "x_n+1", "dx");
double x = x0;
int n = 0;
do {
x = x0  f(x)/fprime(x);
double dx = x  x0;
System.out.printf("%2d %10f %10f %10f %10f %10f%n",
n, x0, f(x), fprime(x), x, dx);
x0 = x;
if(Math.abs(dx) < TOLERANCE)
break;
} while(++n < MAX_COUNT);
if( Math.abs(f(x)) <= TOLERANCE) {
System.out.println("Zero found at x="+x);
} else {
System.out.println("Failed to find a zero");
}
return x;
}
}

thanks! this seems to work!