import java.util.Random;

class 
{
    public static void main(String[] args)
    {
        Random rand;        //Randomクラス型変数の宣言
        // システム時刻を擬似乱数の種としたRandomインスタンスの生成
        rand = new Random(System.currentTimeMillis());
        int numSquare;          //正方形内の点の個数
        numSquare = 1000000;    //100万個
        int numSector;          //扇形内の点の個数
        numSector = 0;
        double x, y;
        int i;
        for (i = 0; i < numSquare; i++)
        {
            x = rand.nextDouble();      // x座標の決定
            y = rand.nextDouble();      // y座標の決定 ※※
            // 点が扇形内にあるかを調べる
            if(Math.sqrt(x * x) + Math.sqrt(y * y) < 1) // ※※
            {
                numSector++;
            }
        }
        double pi;              //円周率の近似値
        pi = 4.0 * numSector / numSquare;
        System.out.println("[円周率の近似値] " + pi);
    }
}

※(表示される浮動少数は毎回異なる)
~実行結果~

[円周率の近似値] 3.142388

実行結果のようにしたいのですがこのプログラムで実行すると2.0008など2付近にしかならないのですがこれは正しいのでしょうか?
円周率の近似値なので3.14にちかい数字だとはおもうのですがどうすればいいですか?
間違っているとすれば ※※ のところだと思います。
よろしくお願いします><