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

خطای Syntax error on token ., ; expected

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

سلام دوستان 

موقع نوشتن کد یه خطا میده با این مضمون Syntax error on token ".", ; expected

توی خطی که میخوام Log.i() بنویسم

چی کار باید کرد؟

 

        int add1 = 20;

        for (int index = 1; index <= add1; index++) {

            if (add1 % index == 0) {

              for (int index2 = 1; index2 < index; index2 ++){

               if (index % index2 == 0){

                   continue

                  Log.i("LOG", "Number Found is :" + index2);

                    

                    }

            }

        }

    }

      

                   

 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
hossein_hr10  10 سال پیش
+2 0

سلام دوست عزیز

مشکل اول کد شما بعد از  continue  باید ; بگذارید

مشکل دومی که بعد از گذاشتن ; به وجود میاد اینه که چون شما log رو بعد دستور  continue گذاشتید از شما خطا میگیره و میگه این دستور مرده است و باید جاشو تغییر بدید کد درست به صورت زیر است اما من برنامه رو تست نکردم که ببینم اصلا کارش چی هست و با این تغییر خروجی درست میده یا نه این چیزی که گفتم فقط ایرادای Syntax رو برطرف میکنه 

کد درست

  int add1 = 20;

        for (int index = 1; index <= add1; index++) {

            if (add1 % index == 0) {

              for (int index2 = 1; index2 < index; index2 ++){

               if (index % index2 == 0){

                   continue;
               }
               Log.i("LOG", "Number Found is :" + index2);

            }

        }

    }
پاسخ به سوال 
MasK  10 سال پیش
0 0

سپاس فراوان از راهنماییتون

من در واقع با این کد میخوام مقسوم علیه های اول یک عدد رو مشخص کنم ولی توی خروجی یه جواب دیگه بدست میارم.!

با راهنمایی شما این کد رو اصلاح کردم ولی بازم خروجی اشتباه در میاد

 

 

int add1 = 20;

        for (int index = 1; index <= add1; index++) {

            if (add1 % index == 0) {

                for (int index2 = 1; index2 < index; index2++) {

                    if (index == 1) {

                        Log.i("LOG", "FIB Code : 1");

                    } else if (index % index2 == 0) {

                        continue;

                    }

 

                    Log.i("LOG", "FIB Code :" + index2);

 

                }

            }

        }

پاسخ به سوال 
مسعود فرمانی  10 سال پیش
+2 0

همونطور که آقای حجت گفتند بعد از هر دستور باید ';' بذارید

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

 
private ArrayList<Integer> getPrimeDivisor(int number){//خروجی این متد یک آرایهایه که حاوی مقسوم علیه های اول عدد ورودی به متد هست
ArrayList<Integer> list = new ArrayList<Integer>();//این یک آرایه دینامیک هست.هربار که مقسوم علیه اولی پیدا کنیم توی این لیست ذخیره اش میکنیم
for (int i = 2; i <= number /2; i++){
if((number % i) == 0){//عدد i مقسوم علیه عدد ورودی به متد است ولی هنوز نمیدونیم اوله یا نه
if (checkIsPrime(i)){//با استفاده از متدی که پایین نوشتیم اول بودن این مقسوم علیه رو چک میکنیم
list.add(i);//اگه حاصل اجرای متد checkIsPrime برابر true بود به لیست بالا اضافش میکنیم
}
}
}
return list;//لیست رو برمیگردونیم
}


private boolean checkIsPrime(int number)//این متد رو برای چک کردن اول بودن اعداد استفاده میکنیم
{

for (int i = 2;i<=number/2;i++)//تا numberتقسیم بر2 رو بیشتر جک نمیکنیم چون هیج عددی مصسوم علیه ای بزرگتر از نصف خودش نداره،البته به غیر از خودش
{
if ((number % i) == 0)
{
return false;//اگه مقسوم علیه ای داشت پس بعنی اول نیست در نتیجه مقدار false برمیگردونیم
}
}
return true;//اگه مقدار fasle برنگشت true برمیگردونیم که یعنی این عدد اول هست
}
0 0
متشکرم مسعود جان (10 سال پیش)
0 0
یکی از بچه ها بهترین و کوتاهترین الگوریتم رو در این لینک نوشته ، استفاده کنید . (10 سال پیش)
0 0
ببخشید این نظر رو در جواب Mask نوشتم . (10 سال پیش)

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