This week's book giveaway is in the Other Languages forum.We're giving away four copies of Functional Reactive Programming and have Stephen Blackheath and Anthony Jones on-line!See this thread for details.
Win a copy of Functional Reactive Programming this week in the Other Languages forum!

# Need Help

luk Hann
Ranch Hand
Posts: 48
Hi,
To calculate standard deviation, I wrote the following program:
import java.lang.Math.*;
public class StandTest {
public static void main(String args[]) {
Stat record = new Stat();
try {
System.out.println("Standard Deviation is" + Math.sqrt());
} catch (Exception e) {
System.out.println("Exception" + e.getMessage());
}
}
}

import java.lang.Math.*;
public class Stand {
private int N;
private double S;
private double S1;
private double SoS;
public void addValue(double d) {S +=d; S1 = (d*d); SoS+=S1; N++;}
public static double Math.sqrt() throws Exception {
if (N < 0) {
throw new Exception("negative value is not allowed");
}
return ((N*SoS)-(S*S))/(N*(N-1));}
}
When I complied it, two error messages:
Stand.java:9: ';' expected
public static double Math.sqrt() throws Exception {
^
StandTest.java:12: sqrt(double) in java.lang.Math cannot be applied to () System.out.println("Standard Deviation is" + Math.sqrt());
Why? Thanks.
luk

Val Dra
Ranch Hand
Posts: 439
If i am wrong someone will correct me on this , But if class is final it's methods are final implicitly. Math class is final therefore you can't overwrite it's sqrt Method plus if i am wrong on this too sqrt takes a parameter which value to take square of. Let me feel the heat

Val Dra
Ranch Hand
Posts: 439
also static methods may not be overriden , i checked and sqrt method takes a value as a parameter of double.