معادله درجه دوم

سوال

سلام به همه مهندسین عزیز.

ببخشید اگه میشه کد برنامه زیر رو با جاوا برام بزنین و بهم بدین. خیلی سپاس گذارم.

سوال اینه که در ورودی کاربر بدون فاصله بین کاراکتر ها یه معادله درجه دوم استاندارد(یعنی بدون نیاز به ساده کردن یا …) به شما می دهد. جواب های معادله را بنویسید یا اگر جوابی نداشت NULL چاپ کنید.
Input :
X^2+2X+1
Output :

در حال بررسی 0
Sahar 9 ماه 1 پاسخ 149 دیده شده 0

پاسخ ( ۱ )

  1. package forum;

    import java.util.Scanner;

    public class Moadele_darage2 {

    public static void main(String[] args) {
    Scanner reader=new Scanner(System.in);
    String str=reader.nextLine();
    int[] t=new int[3];
    int[] s=new int[3];
    int sum=0;
    double x,x1;

    for (int i=0;i<=9;i++) {
    if(str.startsWith(Integer.toString(i))) {
    t[0]=i;
    s[0]=1;
    }
    else if(str.startsWith(“x”)) {
    t[0]=1;
    s[0]=1;
    }
    else if(str.startsWith(“-“)) {
    s[0]=-1;
    str=str.substring(1, str.length());
    }
    if(str.indexOf(Integer.toString(i),4)==4||str.indexOf(Integer.toString(i),4)==5) {
    t[1]=i;
    }

    if(str.indexOf(Integer.toString(i),6)==6||str.indexOf(Integer.toString(i),6)==7||
    str.indexOf(Integer.toString(i),6)==8){
    t[2]=i;
    }

    }

    if(str.charAt(3)==’+’||str.charAt(4)==’+’) {
    s[1]=1;
    }
    else if(str.charAt(3)==’-‘||str.charAt(4)==’-‘) {
    s[1]=-1;
    }
    if(str.charAt(5)==’+’||str.charAt(6)==’+’||str.charAt(7)==’+’) {
    s[2]=1;
    }
    else if(str.charAt(5)==’-‘||str.charAt(6)==’-‘||str.charAt(7)==’-‘) {
    s[2]=-1;
    }
    t[0]*=s[0];
    t[1]*=s[1];
    t[2]*=s[2];
    sum=t[1]*t[1]-(4*t[0]*t[2]);
    if(sum>0) {
    x=(-t[1]+Math.sqrt(sum))/(2*t[0]);
    x1=(-t[1]-Math.sqrt(sum))/(2*t[0]);
    System.out.println(“x: “+x+” , “+x1);
    }
    if(sum==0) {
    x=-t[1]/(2*t[0]);
    System.out.println(“x: “+x);
    }
    if(sum<0) {
    System.out.println(“null”);
    }
    System.out.println();
    }

    }

ارسال یک پاسخ