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

خروجی دلخواه از الگوریتم من استخراج نمی شود.

نورحسینی  12 سال پیش  11 سال پیش
0 0

با سلام و عرض ادب خدمت استاد عزیز و با تشکر از زحمات شما یک سوال

در پروژه زیر:

package noor.mahdi.apps;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;


public class My1appActivity extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

int i = 255;
for (int index = 1; index <= i; index++) {
if (i % index == 0) {
int j = 1;
Log.i("log", "number" + j + index);
j++;
}
}
}
}


چگونه باید عدد j را بدون اینکه دوباره 1 شود زیاد کرد؟
منظور اینه که میخام نتیجه به این صورت بشه که نمیشه:

 

number1 1
number2 3
number3 5
number4 15
number5 17

ممنون

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
uncocoder  12 سال پیش
+1 0

- وقتی دو عدد در کنار هم در یک String جمع میشن مثل j + index معنی درستی از خروجی نخواهند داشت.
2- مقدار j با استفاده از ++ اضافه شده اما هیچ اثری در خروجی نداره چرا که در حلقه for بعدی این مقدار مجدد تعریف و به 1 تبدیل میشه. توجه کنید که int j یک متغیر را تعریف می کنه در داخل بلاک مربوط به if معتبر هست و وجود داره. پس اگر بخواهید این متغیر در طول حلقه for مقادیرش اضافه بشه باید بالای حلقه for در در جاییکه i تعریف شده اضافه بشه.

لذا کد صحیح:

     @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

int i = 255;
int j = 1;
for (int index = 1; index <= i; index++) {
if (i % index == 0) {
Log.i("log", "number" + j + ": " + index);
j++;
}
}
}
پاسخ به سوال 
سعید  11 سال پیش
0 0

گفته که userpid تعریف نشده.


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