# فناوری جاوا > برنامه‌نویسی جاوا > Java SE : نگارش استاندارد جاوا > سوال: منظور از NaN چیست ؟ چرا Exepetion Error  نمیدهد ؟  صفر double صفر حدی است و صفر int صفر مطلق ؟

## a.seieddokht

سلام ممنون میشم جواب بدید من مبتدی هستم دوست دارم بدونم که چرا تو محاسبات اشتباه بعضی جاها Exception Error نمیده  و خروجی NaN , infinity میده مثل زیر


public class Main {

    public static void main(String[] args) {

        System.out.println(Math.pow(-4,0.5));   //print NaN
        System.out.println(1 / 0.0);    //print infinity
    }
}

----------


## httplistener

> سلام ممنون میشم جواب بدید من مبتدی هستم دوست دارم بدونم که چرا تو محاسبات اشتباه بعضی جاها Exception Error نمیده  و خروجی NaN , infinity میده مثل زیر
> 
> 
> public class Main {
> 
>     public static void main(String[] args) {
> 
>         System.out.println(Math.pow(-4,0.5));   //print NaN
>         System.out.println(1 / 0.0);    //print infinity
> ...



سلام.
ببینید در رابطه با اولی خب این بستگی داره به اینکه متد pow چگونه پیاده شده،خوب اگرچه به نظر شما این محاسبات اشتباه هستند شاید از نظر من اینگونه نباشند ؛ شاید اگر بنده میخواستم این متد رو تعریف بکنم دلم میخواست متد به اینگونه باشه که بازه اعداد مختلط رو هم در نظر بگیره (و مثلا خروجیش میتونست از یک نوع دیگه باشه) و در نتیجه جواب *2i* رو برگردونه،و شما می تونید متدی بسازید که در این موراد استثناء ایجاد کنه، .به نظر بنده این مساله زیاد مهمی نیست و نمیشه اون رو به زبان جاوا نسبت داد.بلکه صرفا میشه درمورد متد pow حرف زد.
اما در رابطه با دومی خوب اینجا با متد سر و کار نداریم و شاید شما بگید باید یک استثنا رخ بده و شاید من نوعی هم بگم باید نه یک خطای ران تایم بلکه یک Compilation Error داشته باشیم (اگر هم حطایی رخ بده به نظر این معقولتر هست چون مقادیر بالا و پایین کسر ثابت هستند) اما باید دقت بکنیم که در موارد علمی وقتی می گوییم 0 یعنی 0 مطلق اما وقتی می گوییم 0.0 این یعنی مقدار دقیقا صفر نیست و می تونه به مقدار epsilon با 0 تفاوت داشته باشه،و این یعنی بخش کردن 1 به یک مقدار که قدر مطلق آن بینهایت کوچک هست.و این یعنی حاصل محاسبه روی کاغذ باید بشود بینهایت یا infinity.

پیروز باشید

----------


## a.seieddokht

خیلی ممنون سپاس فراوان خوب توضیح دادید این رو میدونستم ولی شک داشتم ممنون  :تشویق:  :لبخند:  :چشمک:

----------


## httplistener

> خیلی ممنون سپاس فراوان خوب توضیح دادید این رو میدونستم ولی شک داشتم ممنون



خواهش میکنم :لبخند:  راستی NaN یعنی _not a number

کامروا باشید
_

----------

