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

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

mort  11 سال پیش  11 سال پیش
0 0

سلام دوستان 

 این کد که عدد فیبونانچی ایجاد میکنه به اون کد دومی پایینی بدم ولی  ایراد میگره و کلا نمی دونم چکار کنم لطفا راهنمای کنید یعنی متغییر 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 سال پیش
0 0

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

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

 

 

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

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

 

0 0
کسی نیست یاری رساند (11 سال پیش)
پاسخ به سوال 
doost_fu  11 سال پیش
+1 0

سلام

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

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

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

 

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

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