^^
جزآكم الله ألف خييير بس حسسيت مو مرا استوعبتها
ياليت أحد يشرحهآ بطريقه مفصله شوي لو ممكن
انا كتبت كود بطريقتي وطلعت صح
بس كمآن ابغى أفهم الطريقه اللي فوق وليش قسمنا على 10 وأخدنا بآقي 10
دآ الكود اللي طلع معآيا :
import java . util.Scanner ;
public static void main(String[] args) {
int d1, d2 , d3 , num ;
Scanner input=new Scanner(System.in);
System.out.println("Enter integer number less than 1000: \t");
num =input.nextInt();
d1 = num / 100;
num = num % 100;
d2 = num / 10;
num = num % 10;
d3 = num /1;
num = num % 1;
System.out.println(d1 + d2 + d3);
}
}
|
البرنامج بشكل عام يقولك أوجدي ناتج جمع أي رقم من 0 - 1000
نقول 932 ، لو جمعتي الرقم هذا 9 + 3 + 2 = 14
كيف تخلي البرنامج يفصل كل عدد لحاله عشان نجمعه في الأخير
أولاً يجب تعريف العدد المدخل على أنه عديد صحيح integer لو Double الجواب راح يكون خاطئ دائماً
نبدأ الحل بباقي القسمة
932 % 10 = أخر رقم من اليمين = 2 ( Last Digit )
نقسم الرقم الأساسي 932 / 10 = 93.2 ولكن بما إنه integer راح يتخلص من الخانة إلي بعد الفاصلة، يعني راح يطلع العدد 93 فقط ( Remaining Number )
ناخذ باقي القسمة لـ93 راح يطلع = 3 ( Second Last Digit )
نقسم 93 على 10 يطلع 9.3 ولكن بما إنه integer راح يتخلص من الخانة إلي بعد الفاصلة،
( Remaining Number / 10 )
يعني راح يطلع العدد 9 ( Third Last Digit )
وبكذا أوجدنا الأرقام الثلاثة،
في المخرجات خليه يجمع الثلاثة خطوات إلي طلع فيها الأرقام ( باللون الأحمر )
أتمنى تكون وضحت الفكرة ،،
وبالتوفيق