بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مشکل برای دادن مقدار به متغییر

مدیریت گفتگو
mort 11 سال پیش
آخرین تغییر: 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

mort 11 سال پیش

یعنی این طوری مینویسم کد 

 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");
            }
        }
    }
}

 

 

نظرات

mort 11 سال پیش
تا قسمت 3.1 دیدم خوب
Andronymous 11 سال پیش
این کد شما در اخرش یه { اضافه داره تونو پاک کنین حل میشه!
mort 11 سال پیش
نه نشد مشکل این هست که میگه nextNumber نیاز به متغییر داره vocal variable بعدش که میزنم این را اضافه میکنه int nextNumber; ولی باز به ; جمله setContentView(R.layout.main); گیر میده فکر کنم مشکل تعریف نوع متغییر باشه
Andronymous 11 سال پیش
یا عکس بزارین سورس رو کامل بدین تا بتونم بفعمم مشکل چیه اینایی که شما میگین با هم یه ارور نمیشه!
Andronymous 11 سال پیش
مثل این که دو تا { اضافه داره اخرش ! من تو اکلیپس خودم دوتاشو پاک کردم دیگه اروری از بلوک بندی نمیده ولی شما وسط تابعتون یه return گذاشتین که با اجرای این خط برنامه از تابعتون خارج میشه و دیگه خط های بعد از return رو نمیخونه!
ATRAS 11 سال پیش
در این کد اصلا نیازی نیست شما چیزی برگردونین چون همه کار ها در یک متد دارن اجرا میشن.پس return رو بر دارین و بعد مثل اینکه شما کروشه اظافه هم گذاشتین.یه سوال متدتونو کجا تعریف کردین؟این جور که پیداس مثل اینکه داخل oncreat تعریف کردین.همین طوره؟
mort 11 سال پیش
داخل پست قبلی اصل کد ها هستن این دو کد در سورس اصلی برنامه های جناب مهندس موجود هست دوستان نتیجه نگرم بیزحمت یه تست داخل eclips انجام دهید
mort 11 سال پیش

سلام بچه ها این ; مشکل ساز شده

 

نظرات

mort 11 سال پیش
کسی نیست یاری رساند
doost_fu 11 سال پیش

سلام

من خودم تازه وارده ام حدودا یک ماه شروع کردم 

اینجوری درست میشه  :

" البته  متغییر گذاشتم 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 صدازده میشه بعد میاد پایین فیبوناچی حساب میشه دوباره میاد بالا میگه اگه جواب مساوی .... الی اخر

 

نظرات

mort 11 سال پیش
استادی خودتون دمت گرم فهمیدم چی هست قضیه این قسمت واسه چی اضافه کردیم import android.util.Log; اما شرح قضیه لطفا ببنید درست فهمیدم ما یه متغییر تعریف کردیم با نام javab از نوع long بعد امدیم مقدار دهی کردیم به صورت متغییر مثل (f (x یعنی مقادر متغییر را از تابع پیدا کن
doost_fu 11 سال پیش
اره درسته دیگه ، تو خط اخر نوشتم چجوریه ، شما متد فیبوناچی اخر مینویسی ، اول کد اونو با یه مقدار ( مثلا 5 ) صدا میزنی 5 میره تو فیبوناچی حساب میشه برمیگرده ، مقداری که برگشته ، توی متغییر جواب ریخته میشه ، بعدش مقدار جواب توی شرط if قرار داده میشه و چک میشه که اگر ... اگر... اگر ...و در نهایت ... . موفق باشید .

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