بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
دوستان کمی من رو راهنمایی کنید
دوستان من تازه آموزش ها رو شروع کردم به یادگیری اندروید و تقریبا میشه گفت صفر کیلومترم
من برای قسمت if , switch در بخش دوم آموزش ها یک مثالی تقریبا مثل مثال استاد زدم ولی به جای یک متغیر , دو تا متغیر معرفی کردم که خب برای if مشکلی نبود و در قسمت swtich کلا درست عمل نکرد.
اینم کد مثال من
int myNumber = 2;
double num2 = 1.8;
if (myNumber < num2) {
Log.i("LOG", "If Result: no1");
} else if (myNumber == num2) {
Log.i("LOG", "If Result: no2");
} else if (myNumber > num2) {
Log.i("LOg", "If Result: daghighan moshakhas bood");
} else {
Log.i("LOG", "If Result: no3");
}
switch (myNumber) {
case 1:
Log.i("LOG", "Switch Result: no1");
break;
case 2:
Log.i("LOG", "Switch Result: no2");
break;
case 3:
Log.i("LOg", "Switch Result: daghighan moshakhas bood");
break;
default:
Log.i("LOG", "Switch Result: no3");
}
لطفا به قسمت بعدی نگاه بندازید که ببینید نظرتون درست فهمیدم
+1
0
اگر switch با if یک کار رو انجام میده، برای شرط switch هم باید اینو بنویسید myNumber < num2 (11 سال پیش)
+1
0
بنویسید case myNumber < num2 و ... (11 سال پیش)
0
0
آقا فکر کنم دارم اشتباه می کنم ببخشید (11 سال پیش)
0
0
منظور شما به این صورت هستش
switch (myNumber) {
case myNumber < num2:
Log.i("LOG", "Switch Result: no1");
break;
؟؟؟؟
اینطور ی ارور میده کلا
توی کدی که خودم نوشتم هر دو باید عبارت "daghighan moshakhas bood" رو توی logcat نشون بدند ولی درحالتی که خودم نوشتم برای switch عبارت "no2" نشون داده میشه که کاملا اشتباه هستش
(11 سال پیش)
+1
0
دوست من حسین جان درست میگه باید شرط رو اصلاح کنی . شرط if شما اینه که اگه عدد کوچکتر از 2num بود یه سری کار انجوم بده اما شرط سوئیچ چیه اگه عدد 2 باشه که هست . شرط همیشه صحیح ه. (11 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
ramin301
11 سال پیش
0
0
ببخشید من دقیقا متوجه نشدم یعنی شما عرض میفرمایید به صورت زیر بنویسم
int myNumber = 2;
double num2 = 1.8;
if (myNumber < num2) {
Log.i("LOG", "If Result: no1");
} else if (myNumber == num2) {
Log.i("LOG", "If Result: no2");
} else if (myNumber > num2) {
Log.i("LOg", "If Result: daghighan moshakhas bood");
} else {
Log.i("LOG", "If Result: no3");
}
switch (myNumber) {
case myNumber < num2:
Log.i("LOG", "Switch Result: no1");
break;
case myNumber == num2:
Log.i("LOG", "Switch Result: no2");
break;
case myNumber > num2:
Log.i("LOg", "Switch Result: daghighan moshakhas bood");
break;
default:
Log.i("LOG", "Switch Result: no3");
}
اگر اینطور هست که به طور کلی ارور میده . من عذر میخوام چون خیلی تازه کارم دقیقا منظورتون رو متوجه نمیشم
حالا که بحث switch هست یه نکته هم بگم که بعضی جاها بکار میاد. اگه break نکنی بعد از case درست case های بعدی هم اجرا میشن.مثلا پنج تا case داری ,case 1,case2,case 3,case4,case 5 و در case 3 شرط برقراره. اگه break کنی فقط case 3 اجرا میشه ولی اگه break نکنی case 3,case4,case 5 اجرا میشن. (11 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .