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

تفاوت دو حلقه زیر چیست ؟

علی  10 سال پیش  10 سال پیش
0 0

سلام دوستان. تفاوت دو حلقه زیر چیست ؟ چرا حلقه for به درستی کار میکنه ولی حلقه while کار نمیکنه. متاسفانه چون حلقه for فقط کار میکنه بار محاسباتی اون خیلی زیاده و زمان اجرای برنامه خیلی طول میکشه.

  حلقه اول : 
while((total = uploadedInputStream.read(data))!=-1) {

uploadedSize += total;

final float percent = (( -1 * ((uploadedSize / len) - 1)) * 100.0f) + 1;

G.hander.post(new Runnable() {

@Override
public void run() {
if (listener != null) {
listener.onProgressUpload((int) percent);
}

}
});

}



اتمام حلقه اول


حلقه دوم

for (int i = 0; i < bytesRead; i++) {
total = uploadedInputStream.read(data);
uploadedSize += total;
final float percent = (( -1 * ((uploadedSize / len) - 1)) * 100.0f) + 1;
Log.i("LOG", "total = " + total + " | uploadedSize = " + uploadedSize + " | percent = " + percent);
G.hander.post(new Runnable() {

@Override
public void run() {
if (listener != null) {
listener.onProgressUpload((int) percent);
}

}
});

}

0 0
سلام شرط پایان ها یکی هست؟ (10 سال پیش)
0 0
من در مورد بخش آخر صحبت بگم که زمان اجرای while و for تفاوتی نمیکنه و امکان نداره زمانش بیشتر باشه (10 سال پیش)
0 0
ممنونم از شما . اما حلقه for جواب تقریبا درستی میدهد ولی حلقه while جواب درستی نمیده دلیلش رو نمیفهمم واقعا (10 سال پیش)
 برای این سوال پاسخی وجود ندارد.

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