2014-09-18 76 views
-1

我在线上收到一条错误消息“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); 

    } 

} 

回答

3

-类型String不存在。

你可能进入int值,你可以读做:

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

你减去String S,不int秒。

Integer.parseInt(x1)解析String s。

+0

或者只是使用'扫描仪#nextInt()'。 – hexafraction 2014-09-18 23:53:28

+0

我会听起来像一个白痴,但我会把它放在代码中? – Unknown 2014-09-18 23:57:05

相关问题