PDA

View Full Version : nullPointerException



ali_hadian
پنج شنبه 28 تیر 1386, 17:41 عصر
سلام
من تازه دارم با جاوا کار میکنم. تو کد برنامم یه رشته دارم که مثلا مقدار "55" را دارد. میخواهم آن را به معادل double آن تبدیل کنم. وقتی از کد زیر استفاده میکنم:

double x = Double.valueOf(s);

در هنگام اجرا nullPointerException میدهد.

چرا؟

unhandled_event
پنج شنبه 28 تیر 1386, 18:18 عصر
حتما متغیر s را در جای مناسبی مقداردهی یا initialize نکردین چون متغیرهای String هم object هستن.

ali_hadian
پنج شنبه 28 تیر 1386, 23:47 عصر
String SingleSentence[] = new String[formula.length()];
SingleSentence[num_of_Single_Sentences++] = formula.substring(LastSentenceLocation,i);
JOptionPane.showMessageDialog(null,SingleSentence[i]);
exp[i].setCoefficient(Double.valueOf(SingleSentence[i]));
آخه یه خط قبل از اون که بخوام تبدیل رو انجام بدم ، همون string رو با JOptionPane.ShowMessageDialog چاپ میکنم و درست نشون میده
مثلا پیام میده 55
ولی موقعی که همین رشته رو به تابع valueOf پاس میدم ، خطای فوق تولید میشه
آخه چرا؟

unhandled_event
جمعه 29 تیر 1386, 07:00 صبح
اگر از i مطمئنید یعنی از اینکه آرایه SingleSentence در موضع حتما یک string توش هست و هنوز خالی نیست ، برای اطمینان یه بار هم درست قبل از خطی که از valueOf استفاده میکنید بصورت دستی بنویسید :

;"SingleSentence[i]="55

مثلا .
اگر بازهم خطا داد پس مشکل از exp در اندیس i باید باشه بنظر میاد که exp آرایه ای از یک کلاسه بنابراین تک تک اندیسهای exp خودشون باید جداگانه new بشن وگرنه null هستن.