Facebook
From Adrian Pietrzak, 5 Years ago, written in Java.
Embed
Download Paste or View Raw
Hits: 217
  1. package com.company;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class QuadraticEquationSolver {
  6.  
  7.     private double a;
  8.     private double b;
  9.     private double c;
  10.  
  11.     public void setA(double a) {
  12.         this.a = a;
  13.     }
  14.  
  15.     public void setB(double b) {
  16.         this.b = b;
  17.     }
  18.  
  19.     public void setC(double c) {
  20.         this.c = c;
  21.     }
  22.  
  23.     public void setParams() {
  24.         Scanner scan = new Scanner(System.in);
  25.         setA(Dialog.isEnteringValues(scan, "A"));
  26.         setB(Dialog.isEnteringValues(scan, "B"));
  27.         setC(Dialog.isEnteringValues(scan, "C"));
  28.     }
  29.  
  30.     public void solveEquation()
  31.     {
  32.         QuadraticEquationResult qe = new QuadraticEquationResult();
  33.         qe.setDelta(b * b - 4 * a * c);
  34.         Dialog.isDeltaResult(qe.getDelta());
  35.  
  36.         if (qe.getDelta() < 0) {
  37.             Dialog.isNoSolution();
  38.             System.exit(0);
  39.  
  40.         } else {
  41.             if (qe.getDelta() == 0) {
  42.                 qe.setX0(b / 2 * a);
  43.                 Dialog.isOneSolution(qe.getX0());
  44.             }
  45.  
  46.             if (qe.getDelta() > 0) {
  47.                 qe.setX1(-b - Math.sqrt(qe.getDelta()) / 2 * a);
  48.                 qe.setX2(-b + Math.sqrt(qe.getDelta()) / 2 * a);
  49.                 Dialog.isTwoSolution(qe.getX1(), qe.getX2());
  50.             }
  51.         }
  52.     }
  53. }
  54.  
  55. public class Dialog {
  56.     static double isEnteringValues(Scanner scan, String str)
  57.     {
  58.         System.out.print("Wprowadź wartość liczby " + str + ": ");
  59.         return scan.nextDouble();
  60.     }
  61.  
  62.     static void isDeltaResult(double delta)
  63.     {
  64.         System.out.println("Delta: " + delta);
  65.     }
  66.  
  67.     static void isNoSolution()
  68.     {
  69.         System.out.println("Brak rozwiązania.");
  70.     }
  71.  
  72.     static void isOneSolution(double x0)
  73.     {
  74.         System.out.println("x0: " + x0);
  75.     }
  76.  
  77.     static void isTwoSolution(double x1, double x2)
  78.     {
  79.         System.out.println("x1: " + x1);
  80.         System.out.println("x2: " + x2);
  81.     }
  82. }
  83.  
  84. public class QuadraticEquationResult {
  85.     private double delta, x0, x1, x2;
  86.  
  87.     public double getDelta() {
  88.         return delta;
  89.     }
  90.     public void setDelta(double delta) {
  91.         this.delta = delta;
  92.     }
  93.  
  94.     public double getX0() {
  95.         return x0;
  96.     }
  97.     public void setX0(double x0) {
  98.         this.x0 = x0;
  99.     }
  100.  
  101.     public double getX1() {
  102.         return x1;
  103.     }
  104.     public void setX1(double x1) {
  105.         this.x1 = x1;
  106.     }
  107.  
  108.     public double getX2() {
  109.         return x2;
  110.     }
  111.     public void setX2(double x2) {
  112.         this.x2 = x2;
  113.     }
  114.  
  115.     public static void main(String[] args) {
  116.  
  117.         QuadraticEquationSolver qe = new QuadraticEquationSolver();
  118.         qe.setParams();
  119.         qe.solveEquation();
  120.     }
  121. }