تا قسمت 3.1 دیدم خوب
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
مشکل برای دادن مقدار به متغییر
مدیریت گفتگو
آخرین تغییر: 11 سال پیش
سلام دوستان
این کد که عدد فیبونانچی ایجاد میکنه به اون کد دومی پایینی بدم ولی ایراد میگره و کلا نمی دونم چکار کنم لطفا راهنمای کنید یعنی متغییر myNumber عدد بدست امده از کد قبل باشه
متغییر nextNumber را از اولی در دومی یکی میکنم و } را هم درانتهای کد اول بر میدارم ولی جواب نمیده
public long fibonacci(int n) {
int number1 = 1;
int number2 = 1;
for (int index = 0; index < n; index++) {
int nextNumber = number1 + number2;
number1 = number2;
number2 = nextNumber;
}
return number2;
}
private void test2() {
int myNumber = 2;
if (myNumber == 1) {
Log.i("LOG", "If Result: ONE");
} else if (myNumber == 2) {
Log.i("LOG", "If Result: TWO");
} else if (myNumber == 3) {
Log.i("LOG", "If Result: Three");
} else {
Log.i("LOG", "If Result: Isn't ONE or Two or Three");
}
پاسخها 3
یعنی این طوری مینویسم کد
public long fibonacci(int n) {
int number1 = 1;
int number2 = 1;
for (int index = 0; index < n; index++) {
int nextNumber = number1 + number2;
number1 = number2;
number2 = nextNumber;
}
return number2;
int myNumber = nextNumber;
if (myNumber == 1) {
Log.i("LOG", "If Result: ONE");
} else if (myNumber == 2) {
Log.i("LOG", "If Result: TWO");
} else if (myNumber == 3) {
Log.i("LOG", "If Result: Three");
} else {
Log.i("LOG", "If Result: Isn't ONE or Two or Three");
}
}
}
}
نظرات
این کد شما در اخرش یه { اضافه داره تونو پاک کنین حل میشه!
نه نشد
مشکل این هست که میگه nextNumber نیاز به متغییر داره vocal variable بعدش که میزنم این را اضافه میکنه int nextNumber;
ولی باز به ; جمله setContentView(R.layout.main); گیر میده
فکر کنم مشکل تعریف نوع متغییر باشه
یا عکس بزارین سورس رو کامل بدین تا بتونم بفعمم مشکل چیه اینایی که شما میگین با هم یه ارور نمیشه!
مثل این که دو تا { اضافه داره اخرش ! من تو اکلیپس خودم دوتاشو پاک کردم دیگه اروری از بلوک بندی نمیده ولی شما وسط تابعتون یه return گذاشتین که با اجرای این خط برنامه از تابعتون خارج میشه و دیگه خط های بعد از return رو نمیخونه!
در این کد اصلا نیازی نیست شما چیزی برگردونین چون همه کار ها در یک متد دارن اجرا میشن.پس return رو بر دارین و بعد مثل اینکه شما کروشه اظافه هم گذاشتین.یه سوال متدتونو کجا تعریف کردین؟این جور که پیداس مثل اینکه داخل oncreat تعریف کردین.همین طوره؟
داخل پست قبلی اصل کد ها هستن این دو کد در سورس اصلی برنامه های جناب مهندس موجود هست
دوستان نتیجه نگرم بیزحمت یه تست داخل eclips انجام دهید
سلام
من خودم تازه وارده ام حدودا یک ماه شروع کردم
اینجوری درست میشه :
" البته متغییر گذاشتم javab "
( ببخشید دیگه اگه مشکلی داره اساتید راهنمایی کنند )
....
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class PasokhActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
long javab = fibonachi(5);
if (javab == 1) {
Log.i("LOG", "If Result: ONE");
} else if (javab == 2) {
Log.i("LOG", "If Result: TWO");
} else if (javab == 3) {
Log.i("LOG", "If Result: Three");
} else {
Log.i("LOG", "If Result: Isn't ONE or Two or Three");
}
}
public long fibonachi(int n) {
int number1 = 1;
int number2 = 1;
for (int index = 0; index < n; index++) {
int nextNumber = number1 + number2;
number1 = number2;
number2 = nextNumber;
}
return number2;
}
}
اول متد با مقدار 5 صدازده میشه بعد میاد پایین فیبوناچی حساب میشه دوباره میاد بالا میگه اگه جواب مساوی .... الی اخر
نظرات
استادی خودتون دمت گرم فهمیدم چی هست قضیه
این قسمت واسه چی اضافه کردیم import android.util.Log;
اما شرح قضیه لطفا ببنید درست فهمیدم
ما یه متغییر تعریف کردیم با نام javab از نوع long
بعد امدیم مقدار دهی کردیم به صورت متغییر مثل (f (x یعنی مقادر متغییر را از تابع پیدا کن
اره درسته دیگه ، تو خط اخر نوشتم چجوریه ، شما متد فیبوناچی اخر مینویسی ، اول کد اونو با یه مقدار ( مثلا 5 ) صدا میزنی 5 میره تو فیبوناچی حساب میشه برمیگرده ، مقداری که برگشته ، توی متغییر جواب ریخته میشه ، بعدش مقدار جواب توی شرط if قرار داده میشه و چک میشه که اگر ... اگر... اگر ...و در نهایت ... . موفق باشید .
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام

نظرات