وبلاگ شخصی مستر حاج رضا

وبلاگ شخصی مستر حاج رضا

در اینجا میخوام فقط بنویسم! درهم و نامربوط! همه چیز
وبلاگ شخصی مستر حاج رضا

وبلاگ شخصی مستر حاج رضا

در اینجا میخوام فقط بنویسم! درهم و نامربوط! همه چیز

برنامه نویسی برای حل معادله درجه دو با جاوا

امروز داشتم روی نوشتن یک برنامه برای حل معادلات درجه دو در جاوا کار میکردم، به نظرم در نگاه اول خیلی ساده و ابتدایی آمد چون اعداد رو میندازی تو فرمول و جواب رو میگیری اما بعدا که رفتم راجع به حل معادلات درجه دو تو گوگل بیشتر خوندم فهمیدم که برای حل این معادلات اول باید به رقم دلتا نگاه کنید و اگر بزرگتر و یا مساوی صفر بود که ما شروع میکنیم به محاسبه ریشه یا ریشه ها. اگر مساوی با صفر بود که تنها یک ریشه داریم و اگر بزرگتر از صفر بود که ما دو ریشه داریم. پس اینقدرها هم ساده به نظر نمیومد ولی باز هم راه حلی داشت و اونقدرها هم سخت نیست. 

در قدم اول از یوزر میخواهیم که ضریب های متغیرها را وارد کند (ای و بی و سی) و بعد از اون با استفاده از ضریبها عدد دلتا را بدست می آوریم و اونوقت هست که از استیتمنت (if) استفاده میکنیم. 



import java.util.Scanner;

public class SolveQuadratic {


public static void main (String [] args) {

Scanner sc = new Scanner (System.in);

System.out.println("Please enter a: ");

double a = sc.nextDouble();

System.out.println("Please enter b: ");

double b = sc.nextDouble();

System.out.println("Please enter c: ");

double c = sc.nextDouble();

double delta = ((b*b)-4*a*c);

System.out.println("the delta is: "+delta);

if (delta == 0) {

double ans= ((-b)+(Math.sqrt(delta)))/(2*a);

System.out.println("There is only one answer:" +ans);

}

if (delta >0) {

double ans1= ((-b)+(Math.sqrt(delta)))/(2*a);

double ans2= ((-b)-(Math.sqrt(delta)))/(2*a);

System.out.println("There are two answers:" +ans1+ " and " +ans2);

}

if (delta <0) {

System.out.println("UNDEFINED!!!");

}

}

}


میبینید اونقدرها هم سخت نیست