You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java实现坐标点距离计算时代码运行结果与预期不符问题排查

代码问题分析及修正

你代码的核心错误是两点距离的计算公式写错了:

  • 平面直角坐标系中两点(x1,y1)和(x2,y2)的正确欧氏距离公式为:√[(x2-x1)² + (y2-y1)²]
  • 你当前代码中的计算逻辑是√(x2 - x1² + y2 - y1²),完全不符合公式要求,自然会输出错误结果。
  • 另外你预先定义了xDist、yDist两个变量但没有使用,合理使用这两个变量存储坐标差值可以降低公式写错的概率。

修正后的代码如下:

import java.util.Scanner;

public class CoordinateGeometry {

   public static void main(String[] args) {
      Scanner scnr = new Scanner(System.in);
      double x1;
      double y1;
      double x2;
      double y2;
      double pointsDistance;
      double xDist;
      double yDist;

      x1 = scnr.nextDouble();
      y1 = scnr.nextDouble();
      x2 = scnr.nextDouble();
      y2 = scnr.nextDouble();
      
      // 先计算坐标差值
      xDist = x2 - x1;
      yDist = y2 - y1;
      // 代入正确公式计算距离
      pointsDistance = Math.sqrt(Math.pow(xDist, 2) + Math.pow(yDist, 2));

      System.out.println(pointsDistance);
      scnr.close();
   }
}

内容的提问来源于stack exchange,提问作者Elder Son

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 12:36:03