آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در استفاده از چندین if

s.h.salehi  9 سال پیش  9 سال پیش
0 0

سلام دوستان 

من در کد های برنامه ام از چند if پشت سرهم استفاده میکنم اما یک مشکلی دارم! اگر if درست نباشه دیگه خطوط بعد از if رو نمیخونه و به یکنوعی بقیه خطوط رو skip میکنه! 

 

ساختار کدم شبیه کدی هست که میزارم 

شرط اول (if) مشکلی نداره و اجرا میشه شرط دوم که زیر مجموعه شرط اول هم هست اجرا میشه اما در شرط سوم اگر درست نباشه دیگه بقیه کد رو skip میکنه! یعنی بجای اینکه اون دو string تعریف بشن و متغیر g ریترن (return) بشه "error" رو return میکنه! حتی برای شرط سوم else هم گذاشتم اما اصلا نمیخونش! (با log چک میکنم) اما اگر شرط سوم درست باشه کد صحیح اجرا میشه ! بنظرتون چکار کنم و مشکل چیه؟

در ضمن یک سوال دیگه هم داشتم من شاید بخوام به عنوان مثال 10 تا متغییر رو با if بررسی کنم که null هستن یا نه اما با if خیلی شلوغ میشه و برنامه خیلی کند میشه راه حل بهتری سراغ دارید؟

 

ممنونم ازتون

 String a = 1;
String b = 2;
String c = 3;

if (a != null) {

String d = a;
String e = 5;

if (b != null) {

// code
}

if (c != null) {
// code
}

String f = 6;
String g = 7

return g;

}

return "error";
 
 
+1 0
از else if استفاده کنید (9 سال پیش)
0 0
متاسفانه نمیشه چون متغیر ها هرکدوم جداگانه باید بررسی بشن در صورتی که اگر else if بزارم و اولی null نباشه (یعنی شرط درست باشه) دیگه سراغ بقیه نمیره (9 سال پیش)
+3 0
مشکل از الگوریتم شما هست ، اول تعریف کنید که میخواید چیکار کنید بعدا براش یک الگوریتم بنویسید که با مسئله شما و شرایط مختلف همخوانی داشته باشه ، یا حداقل شرایط مختلف رو بشه براش به نحوی بعدا دستور نوشت (9 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
زهرا رئیسی  9 سال پیش
+3 0

اتفاقی که شما میگید در صورتی می افته که اولین شرطتون اجرا نشه یعنی a = null باشه از طرفی نکته ای که الان متوجه شدم اینه که برای بررسی مقدار استرینگ هیچ وقت از = استفاده نکنید بلکه مثل زیر عمل کنید

 
if (!myString.equals(null)) {
doSomething
}

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .