اول از همه چی تمام حل این مسئله رو بنویسیم و بعد به توضیح می پردازیم.
Scanner scan = new Scanner(System.in);
1 int length;
2 System.out.println("pleas enter length");
3 length = scan.nextInt();
4 for (int number = 2; number < length; number++) {
5 if (number%2==0) {
6 continue;
7 }else if ( number%1==0|| number % number == 0) {
8 System.out.println(number + " "); }
}}
در خط اول حد حلقه را تعیین کرده ایم .
در خط دوم تعامل با کاربر را داریم . و از کاربر حد این دنباله را میگیریم اینکه تا کجا میخواهد این دنباله ادامه داشته باشه .
ما باید شی اسکنر را تعریف کنیم و به واسطه همین اسکنر میتوانیم عددی را از کاربر بگیریم و آن را وارد متغیر length کنیم.
یک حلقه تعریف میکنیم . و در این حلقه از 2 تا length ادامه می یابد . داخل این حلقه از دو شرط استفاده کرده ایم . به این صورت که شرط اول به این معناست که برای تشخیص عدد زوج مود آن عدد را بر دو باید گرفت و باید برابر صفر باشد . به همین سبب ما عدد زوج را تشخیص دادیم . سپس میگویم اگر عدد ما زوج بود با دستور continue از اون عدد رد می شویم . چون ما این عدد را نمیخواهیم . و بعد با else if شرط دوم را وارد داستان میکنیم .
در ریاضی میدانیم که برای تشخیص عدد اول دو شرط داریم یکی اینکه بر خودش بخش پذیر باشد .دومی هم اینکه به غیر از خودش بر یک هم بخش پذیر باشه و لا غیر .
در خط 7 هم ما این کار را انجام داده ایم و به این سبب شرط ما عدد های اول را در میابد .
و ما با دستور چاپ این عدد را چاپ میکنیم .