二元运算符的坏操作数类型' - '

时间:2014-09-18 23:41:51

标签: java

我收到一条错误信息“Math.sqrt(Math.pow((x2) - (x1),2)+ Math.pow((y2) - (y1),2));”我无法弄清问题是什么。

import java.util.Scanner;
import java.lang.Object;

public class Distance

{

   public static void main(String[] args)

   { 
    Scanner scan = new Scanner(System.in);

    System.out.println ("Enter x1: ");
    String x1=scan.nextLine();

    System.out.println ("Enter y1: ");
    String y1=scan.nextLine();

    System.out.println ("Enter x2: ");
    String x2=scan.nextLine();

    System.out.println ("Enter y2: ");
    String y2=scan.nextLine();

    double distance = Math.sqrt(Math.pow ((x2)-(x1), 2)+Math.pow((y2)-(y1), 2));

    System.out.println ("The distance between the points is: "+ distance);

   }

}

2 个答案:

答案 0 :(得分:5)

您正在减去String s,而不是int s。

使用String解析Integer.parseInt(x1)

答案 1 :(得分:3)

类型-

String不存在。

您可能输入了int您可以阅读的值:

int x1 = scan.nextInt();
// etc