در این جلسه تیم کدگیت را با آموزش محاسبه ریشه معادله درجه دو در جاوا همراهی کنید. معادلات درجه دو در ریاضیات کاربردهای فراوانی داشته و در این قسمت به پیاده سازی ریشه این معادلات خواهیم پرداخت. پیشنهاد میکنیم قبل از مطالعه این جلسه، آموزشهای زیر را بخوانید:
معادله درجه دو
معادله درجه دوم معادله میباشد با فرم زیر:
ax2+bx+c
در معادله فوق a نباید صفر باشد و b و c می توانند صفر باشند. همچنین x همان مجهولی است که هدف از حل کردن معادله یافتن آن است.
ریشه معادله درجه دو
برای محاسبه ریشههای معادله درجه دو باید روش زیر را انجام دهید:
- b2-4ac را محاسبه کنید.
- اگر b2-4ac بزرگتر از صفر باشد معادله دو جواب حقیقی دارد.
- اگر b2-4ac کوچکتر از صفر باشد معادله جواب حقیقی ندارد.
- اگر برابر با صفر باشد معادله یک جواب دارد.
محاسبه ریشه معادله درجه دو در جاوا
برای محاسبه معادله درجه دو ما در جاوا یک متد به نام findRoots پیاده سازی میکنیم. در این متد همانطور که در بالا مشاهده کردید ابتدا b2-4ac را محاسبه و بر اساس آن تصمیم میگیریم معادله چند جواب دارد. در زیر کد محاسبه ریشه درجه دوم در جاوا آورده شده است:
static void findRoots(int a, int b, int c) {
if (a == 0) {
System.out.println("Not valid");
return;
}
int d = b * b - 4 * a * c;
double sqrt_val = Math.sqrt(Math.abs(d));
if (d > 0) {
System.out.println("Roots are real and different \n");
System.out.println((double) (-b + sqrt_val) / (2 * a) + "\n" + (double) (-b - sqrt_val) / (2 * a));
} else {
System.out.println("Roots are complex \n");
System.out.println(
-(double) b / (2 * a) + " + i" + sqrt_val + "\n" + -(double) b / (2 * a) + " - i" + sqrt_val);
}
}
public static void main(String args[]) {
int a = 1, b = -7, c = 12;
findRoots(a, b, c);
}
همانطور که در کد بالا نیز میبینید متد findroot سه ورودی a و b و c را میگیرد. سپس با محاسبه ریشهها در خروجی آنها را چاپ میکند. خروجی کد فوق به صورت زیر میباشد: