الكود الذي قدمته يحتوي على بعض الأخطاء التي يجب تصحيحها لكي يعمل كما هو متوقع. دعني أوضح لك بعض النقاط التي يجب تعديلها:
-
الدالة الرئيسية (main): في لغة الجافا، يجب أن تكون الدالة الرئيسية
public static void main(String[] args)
وليسpublic static double main(String[] args)
، وهي لا تُرجع قيمة. يجب عليك تغيير النوع منdouble
إلىvoid
. -
الاحتفاظ بالقيم: في حلقة الـ
for
، أنت تقوم بتغيير قيمةi
مرتين: مرة في التعبير الأول من الحلقةfor
(i++
)، ومرة أخرى في الجملةi = i + 10
، مما يعني أن القفز سيكون بزيادة 11 بدلاً من 10. يجب إزالة الجملةi = i + 10
لتجنب هذا الخطأ. -
تحديث القيم: بعد استدعاء الدالة
convertTemp(Celsius)
، يجب تحديث قيمةFahrenheit
بالقيمة المحسوبة من دالة التحويل. يمكنك القيام بذلك عن طريق تعيينFahrenheit
إلى القيمة المُعادة من الدالةconvertTemp(Celsius)
. -
الحلقة الصحيحة: تحتاج حلقتك لتكون من 0 إلى 100 شاملةً، لذا يجب أن تكون الشرط في حلقة
for
كالتالي:i <= 100
بدلاً منi < 100
.
بناءً على هذه الملاحظات، إليك الكود المعدل:
javapackage sknight_project10_orig;
public class SKnight_Project10_ORIG {
public static void main(String[] args) {
double Celsius = 0.0;
double Fahrenheit = 0.0;
// For loop to increment by 10 from 0-100
for (int i = 0; i <= 100; i += 10) {
Fahrenheit = convertTemp(Celsius);
System.out.println(Celsius + " = " + Fahrenheit);
Celsius += 10; // Increment Celsius by 10 for each iteration
}
}
public static double convertTemp(double Celsius) {
double Fahrenheit = Celsius * 1.8 + 32;
return Fahrenheit;
}
}
بهذه الطريقة، يجب أن تتمكن الآن من تشغيل البرنامج بنجاح والحصول على تحويل درجات الحرارة بشكل صحيح. استمتع ببرمجتك ولا تتردد في طرح المزيد من الأسئلة إذا كانت لديك.
المزيد من المعلومات
بالطبع، دعنا نكمل المقال بتوسيع الشرح حول الكود وتقديم بعض الإضافات والتوجيهات:
بدايةً، يجب أن نفهم الغرض من البرنامج. الهدف هو تحويل درجات الحرارة من مقياس السيلسيوس إلى مقياس الفهرنهايت، وذلك باستخدام دالة (convertTemp
) مخصصة لهذا الغرض.
في الشرح السابق، قمنا بتعديل الكود لتصحيح بعض الأخطاء، ولكن دعنا نستعرض المفاهيم الرئيسية التي يجب فهمها:
-
الدالة الرئيسية (
main
): هي نقطة البداية لتنفيذ البرنامج، وهي الدالة التي يتم تشغيلها أولاً. في هذا المثال، نقوم بتهيئة قيم المتغيرات وبعد ذلك نستخدم حلقة (for
) لتكرار العملية لجميع قيم درجة الحرارة من 0 إلى 100 بزيادة 10. -
حلقة التكرار (
for
loop): هنا، نستخدم حلقةfor
لتكرار العملية بشكل متكرر. الحلقة تبدأ بقيمة معينة للمتغير (i
في هذه الحالة)، ثم تستمر حتى تصل إلى قيمة معينة تحددها الشرط (i <= 100
)، وتزداد القيمة بمقدار محدد في كل تكرار (i += 10
). -
دالة التحويل (
convertTemp
): هذه الدالة تستقبل درجة حرارة بالسيلسيوس وتقوم بتحويلها إلى فهرنهايت باستخدام العلاقة الرياضية المعروفة. هذه الدالة تُرجع القيمة المحسوبة. -
الطباعة (
System.out.println
): هنا نقوم بطباعة النتائج، حيث نعرض قيم درجتي الحرارة (سيلسيوس وفهرنهايت) بشكل منسق.
من المهم أن نفهم هذه المفاهيم ونتحقق من تطبيقها بشكل صحيح في البرنامج. كما يمكننا تحسين البرنامج عن طريق إضافة التحقق من صحة البيانات المُدخلة والتعامل مع الأخطاء المحتملة، مثل توقع درجة حرارة خارج النطاق المسموح به، أو التحقق من صحة المدخلات.
بهذه الطريقة، يمكن للبرنامج أن يكون أكثر استدامة وموثوقية. إذا كنت ترغب في المزيد من التحسينات أو الشروحات حول المفاهيم البرمجية، فلا تتردد في طرح المزيد من الأسئلة.