Java (x,y)半径为1.0的圆上点的坐标。我需要帮助找到x2和y2

Java (x,y)半径为1.0的圆上点的坐标。我需要帮助找到x2和y2,java,Java,我的评估是做这个项目,下面列出了说明 圆的半径应为1.0 在算术表达式中使用适当的数学类方法 初始测试期间,x坐标值应改变0.1。程序运行后,验证增量是否可以 也可为0.01或0.001,代码仅作微小更改 在格式整齐的表格中显示信息。(请参阅预期输出。)使用格式网格可节省为开发布局所需的时间 您的输出。背景:回想一下代数课上 勾股定理可用于确定x或y坐标,如果 你知道圆的半径和x或y的值。 假设您正在处理一个半径为1的圆。如果你 迭代x的连续值,然后可以计算 y的对应值。确保使用数学类的方法来

我的评估是做这个项目,下面列出了说明

  • 圆的半径应为1.0
  • 在算术表达式中使用适当的数学类方法
  • 初始测试期间,x坐标值应改变0.1。程序运行后,验证增量是否可以 也可为0.01或0.001,代码仅作微小更改
  • 在格式整齐的表格中显示信息。(请参阅预期输出。)使用格式网格可节省为开发布局所需的时间 您的输出。背景:回想一下代数课上 勾股定理可用于确定x或y坐标,如果 你知道圆的半径和x或y的值。 假设您正在处理一个半径为1的圆。如果你 迭代x的连续值,然后可以计算 y的对应值。确保使用数学类的方法来 设置算术表达式
  • 这是一个圆圈:

    我做了下面的节目

    public class PointsOnACircleV1 {
        public static void main(String[ ] args)
        {
       double[] x1 = { 1.0, 0.90, 0.80, 0.70, 0.60, 0.50, 0.40, 0.30, 0.20,
               0.10, 0.00, -0.10, -0.20, -0.30, -0.40, -0.50, -0.60, -0.70,
               -0.80, -0.90, -1.00 };
    
    double r = 1;
    
        System.out.println("      Points on a Circle of Radius 1.0");
        System.out.println("       x1        y1        x2        y2");
        System.out.println("---------------------------------------------");
    
    for (int i = 0; i < x1.length; i++) {
        double y1 = Math.sqrt(Math.pow(r, 2) - Math.pow(x1[i], 2));
        double y2 = Math.sqrt(Math.pow(r, 2) - Math.pow(x1[i], 2));
        System.out.printf("%10.2f%10.2f%10.2f%10.2f%n", x1[i], y1, x1[i], y2);
    }
        System.out.println("");
    }
    }
    

    您已将y1和y2计算为相同的值,因为代码相同:

    double y1 = Math.sqrt(Math.pow(r, 2) - Math.pow(x1[i], 2));
    double y2 = Math.sqrt(Math.pow(r, 2) - Math.pow(x1[i], 2));
    
    从结果来看,y2的值应该是y1的负数。请尝试以下方法:

    double y1 = Math.sqrt(Math.pow(r, 2) - Math.pow(x1[i], 2));
    double y2 = -y1;
    

    它还应该有一个if语句,因为只有另一个答案的 以及-0.00的输出

        double y1 = Math.sqrt(Math.pow(r, 2) - Math.pow(x1[i], 2));
        double y2 = 0.00;
        if (y1 != 0.00)
        {
            y2 = (-y1);
        }
    

    避免-0.00的更好方法是

        double y1 = Math.sqrt(Math.pow(r, 2) - Math.pow(x1[i], 2));
        double y2 = 0 - y1;
    

    这将节省空间并更快地运行

    您是发布此问题的同一人吗?没有,但是这个问题看起来和我的一样。好吧,一定是很多人设置了相同的问题。不用担心,我只是好奇…非常感谢。这很有帮助。
        double y1 = Math.sqrt(Math.pow(r, 2) - Math.pow(x1[i], 2));
        double y2 = 0 - y1;