public class SquareRoot { public static double sqrt(double num) { double errorAllowed = 0.00000001; double lowBound = 1; double highBound = num; double result = (lowBound + highBound) / 2; while (result * result - num > errorAllowed || num - result * result > errorAllowed) { if(result * result - num > errorAllowed) { highBound = result; } else { lowBound = result; } result = (lowBound + highBound) / 2; } return result; } public static void main(String[] args) { System.out.println(sqrt(2)); } }