Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Tạo constructor mà khi gọi một function sẽ trả về một List

    Bài tập java này, mình được yêu cầu là tạo constructor cho class java dưới đây. Với yêu cầu là khi mà gọi hàm solveAll nó sẽ trả về lít với 2 giá trị là căn bậc hai và số đối của giá trị truyền vào.

    Mã:
    public interface MathFunction {
            double calculate(double x);
    }
    
    public class Solver {
          private List<MathFunction> functionList;
    
          // Constructor
          public Solver() {
                // Xây dựng constructor 
          }
    
          public List<Double> solveAll(Double) {
                List<Double> result = new ArrayList<Double>();
    
                for (MathFunction function : this.functionList) {
                         result.add(new Double(function.calculate(x));
                }
                return result;
          }
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Đang ở
    Hà Nội
    Bài viết
    0
    MathFunction Interface

    Mã:
    /** * @author MANHDT */public interface MathFunction {        public double calculate(double x);    }
    Solver class

    Mã:
    /** * @author MANHDT */import static java.lang.Math.*;import java.util.ArrayList; public class Solver implements MathFunction {    private double number;     public Solver(double x) {        this.number = x;    }        public ArrayList<Double> solveAll() {        ArrayList<Double> list = new ArrayList<>();        list.add(getNumber());        list.add(calculate(getNumber()));        return list;    }        @Override    public double calculate(double x) {        return sqrt(x);    }     public double getNumber() {        return number;    }     public void setNumber(double number) {        this.number = number;    } }
    SolverTest class

    Mã:
    public class SolverTest {     public static void main(String[] args) {        Solver s = new Solver(9);        ArrayList<Double> a = s.solveAll();        System.out.println(a.get(0) + " \t " + a.get(1));    } }

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •