java初学者(来自ather类的方法+ toString()的使用)

问题描述 投票:0回答:2

我正在尝试使此代码正常工作,在MAIN上从用户那里获取2点(x,y)+(x1,y1),并使用另一个类中的方法来获取计算结果+获取有关toString的解释将很酷]

import java.util.Scanner;
public class Test{
    public static void main(String[]args)
    {
        Scanner scan = new Scanner(System.in);
        double x , y , x1 , y1;
        Pytaguras Triangle = new Pytaguras();

        System.out.println("Hello , this program is using Pytagoras formula" +
        " on the 4 point that you enter");
        System.out.println("Please enter 4 points to calculate the distance");
        x = scan.nextDouble();
        y = scan.nextDouble();
        x1 = scan.nextDouble();
        y1 = scan.nextDouble();
        Triangle.setDouble( x, y,  x1, y1);
        System.out.println("the distance between 2 points is :" + Triangle.calculate() );

    }
}

public class Pytaguras
{
    private double x, y, x1 ,y1 ;
    public void setDouble(double _x, double _y, double _x1, double _y1)
    {   _x=x;
        _y=y;
        _x1=x1;
        _y1=y1;}

    public double calculate(double _x , double _y , double _x1 , double _y1 )
    {   double s;
         s = Math.sqrt((_x-_y)*(_x-_y)+(_x1-_y1)*(_x1-_y1));
        return s;
    }

}
java methods double tostring calculation
2个回答
0
投票

您可以简单地通过类构造函数分配值。

public class Triangle {
    private double x, y, x1 , y1;

    public Triangle(double new_x, double new_y, double new_x1, double new_y1) {
        x = new_x;
        y = new_y;
        x1 = new_x1;
        y1 = new_y1;
    }

    public double calculate() {   
        return Math.sqrt((x-y)*(x-y)+(x1-y1)*(x1-y1));
    }

}

然后在您的主菜单上:

public static void main(String[]args) {
        Scanner scan = new Scanner(System.in);
        double x , y , x1 , y1;
        Pytaguras Triangle = new Pytaguras();

        System.out.println("Hello , this program is using Pytagoras formula" +
        " on the 4 point that you enter");
        System.out.println("Please enter 4 points to calculate the distance");
        x = scan.nextDouble();
        y = scan.nextDouble();
        x1 = scan.nextDouble();
        y1 = scan.nextDouble();
        Triangle triangle = new Triangle(x, y, x1, y1);
        System.out.println("the distance between 2 points is :" + triangle.calculate());

}

0
投票

如果您想通过类toString()的方法Triangle接收distance-calculation,则只需像方法calculate一样实现它即可:

您的课程看起来像这样:

public class Pytaguras {
    private double x, y, x1 ,y1 ;
    public void setDouble(double _x, double _y, double _x1, double _y1) {
        _x=x;
        _y=y;
        _x1=x1;
        _y1=y1;
    }

    public static double calculate(double _x , double _y , double _x1 , double _y1 ) {
        return Math.sqrt((_x-_y)*(_x-_y)+(_x1-_y1)*(_x1-_y1));
    }

    public String toString() {
        return "Distance is " + Math.sqrt((x - y)*(x -y)+(x1 - y1)*(x1 - y1));
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.